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'; }
Комментарии
Отправить комментарий