В этом разделе приводится инструкция по сборке Zabbix агент 2 (Windows) из исходных кодов.
1. Скачайте MinGW-w64 с обработкой исключений SJLJ (Exception) и потоками Windows (Threads). Например, x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z.
2. Распакуйте и переместите на c:\mingw
3. Настройка переменной среды
При компиляции используйте приглашение Windows вместо терминала MSYS, предоставленного MinGW
Скомпилируйте и установите 64-разрядную библиотеку PCRE c:\dev\pcre или 32-разрядную библиотеку PCRE в c:\dev\pcre32:
1. Загрузите библиотеку PCRE версии 8.XX с pcre.org (ftp://ftp.pcre.org/pub/pcre/) и распакуйте ее.
2. Откройте cmd и перейдите к извлеченным источникам
1. Удалите старую конфигурацию/кеш, если существует:
2. Выполните cmake (CMake можно установить с https://cmake.org/download/):
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-O2 -g" -DCMAKE_CXX_FLAGS="-O2 -g" -DCMAKE_INSTALL_PREFIX=c:\dev\pcre
3. Теперь выполните:
1. Выполните:
2. Удалите CMakeCache.txt:
3. Выполните cmake:
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-m32 -O2 -g" -DCMAKE_CXX_FLAGS="-m32 -O2 -g" -DCMAKE_EXE_LINKER_FLAGS="-Wl,-mi386pe" -DCMAKE_INSTALL_PREFIX=c:\dev\pcre32
4. Теперь выполните:
1. Загрузите 32- и 64-разрядные сборки из https://bintray.com/vszakats/generic/openssl/1.1.1d
2. Распакуйте файлы в папки c:\dev\openssl32 и c:\dev\openssl соответственно.
3. После этого удалите извлеченный *.dll.a (оболочка вызова динамической библиотеки) так как MinGW расставляет приоритеты перед статическими библиотеками.
Откройте среду MinGW (командная строка Windows) и перейдите в каталог build/mingw в исходном дереве Zabbix. Выполните:
Откройте среду MinGW (командная строка Windows) и перейдите в каталог build/mingw в исходном дереве Zabbix.
Выполните:
32- и 64-разрядные версии могут быть собраны на 64-разрядной платформе, но только 32-разрядная версия может быть собрана на 32-разрядной платформе. При работе на 32-разрядной платформе выполните те же шаги, что и для 64-разрядной версии на 64-разрядной платформе.