ZeroMQ (static) для Windows и Linux

Linux:

Для Astra Linux/Debian:

Установить пакет libzmq3-devel:

 sudo apt install zeromq3-devel


Для RED OS/Fedora:

Установить пакет zeromq-devel:

sudo dnf install zeromq-devel 


Для Windows:

1. Установить пакет vcpkg:

d:

cd  d:\cpp\lib

git clone https://github.com/microsoft/vcpkg.git

.\vcpkg\bootstrap-vcpkg.bat -disableMetrics

Наблюдаем vcpkg.exe:

dir .\vcpkg\*.exe

2. С помощью vcpkg строим ZeroMQ:

.\vcpkg\vcpkg install zeromq:x86-windows-static

 .\vcpkg\vcpkg install zeromq:x64-windows-static

Наблюдаем сообщение

zeromq provides CMake targets:

  # this is heuristically generated, and may not be correct
  find_package(ZeroMQ CONFIG REQUIRED)
  target_link_libraries(main PRIVATE libzmq libzmq-static)

zeromq provides pkg-config modules:

  # 0MQ c++ library
  libzmq

Всё готово. Результаты (для x64) располагаются в папках

D:\CPP\lib\vcpkg\packages\zeromq_x86-windows-static

и

D:\CPP\lib\vcpkg\packages\zeromq_x64-windows-static

Release версия библиотеки для x64 компоновки находится в 

D:\CPP\lib\vcpkg\packages\zeromq_x64-windows-static\lib

 ...и на момент написания имеет имя: libzmq-mt-s-4_3_5.lib

Debug версия библиотеки для x64 компоновки находится в 

D:\CPP\lib\vcpkg\packages\zeromq_x64-windows-static\debug\lib

 ...и на момент написания имеет имя: libzmq-mt-sgd-4_3_5.lib

Папка включения .h файлов (zmq.h) для release и debug - общая, находится в

 D:\CPP\lib\vcpkg\packages\zeromq_x64-windows-static\include

 Для X86 - аналогично.

Внимание!  При построении, следует указать что генерируемый код - MT/MTd для Release/Debug соответственно.

Внимание!!  При построении, следует определить символ ZMQ_STATIC!

Тестовое приложение tstZMQ (в подкаталоге каталога D:\cpp\prj):

// tstZMQ.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#define ZMQ_STATIC
#include <iostream>
#include "../../lib/vcpkg/packages/zeromq_x64-windows-static/include/zmq.h"
#ifdef _DEBUG
#pragma comment(lib,"../../lib/vcpkg/packages/zeromq_x64-windows-static/debug/lib/libzmq-mt-sgd-4_3_5.lib")
#else
#pragma comment(lib,"../../lib/vcpkg/packages/zeromq_x64-windows-static/lib/libzmq-mt-s-4_3_5.lib")
#endif
//#pragma comment(lib,"Ws2_32.lib")
//#pragma comment(lib,"Iphlpapi.lib")

int main()
{
    int major = 0;
    int minor = 0;
    int patch = 0;
    zmq_version(&major, &minor, &patch);
    std::wcout << "Current 0MQ version is " << major << '.' << minor << '.' << patch << '\n';
}

 

 

 

 

 

 

Комментарии

Популярные сообщения из этого блога

zlib, построение из исходников с помощью MSVS2022.