zabbix-win32编译
OpenSSL
前置:
C 编译器(Visual Studio 2022)
NASM
PERL (strawberry perl)
PERL模块Text::Template(命令行执行cpan Text::Template)
开始:
解压openssl源码至C:\openssl-1.1.1
管理员开启x64 Native Tools Command Prompt for VS 2022命令行工具
前往C:\openssl-1.1.1
验证是否可以找到nasm :nasm --version
执行 perl C:\openssl-1.1.1\Configure VC-WIN64A no-shared no-capieng no-srp no-gost no-dgram no-dtls1-method no-dtls1_2-method --api=1.1.0 --prefix=C:\OpenSSL-Win64-111-static --openssldir=C:\OpenSSL-Win64-111-static
nmake; nmake test; nmake install_sw
nmake test出错:
test\recipes\80-test_cms.t ...................... Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/4 subtests
test\recipes\80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/27 subtests
PCRE
解压至 C:\pcre-8.41
创建空文件夹C:\pcre-8.41\build
创建空文件夹C:\pcre-8.41-install
启动cmake-gui,若失败,建议使用命令行工具打开
源:C:\pcre-8.41 构建目录:C:\pcre-8.41\build
点击configure,选择NMake Makefiles生成器
开启选项:PCRE_SUPPORT_UNICODE_PROPERTIES,PCRE_SUPPORT_UTF
指定MAKE_INSTALL_PREFIX:C:\pcre-8.41-install
再次点击configure,然后generate
命令行执行C:\pcre-8.41\build> nmake install
Zabbix
使用管理员打开命令行
进入D:\file_tmp_2\build\win32\project
nmake /K -f Makefile_client TLS=openssl TLSINCDIR=C:\OpenSSL-Win64-111-static\include TLSLIBDIR=C:\OpenSSL-Win64-111-static\lib PCREINCDIR=C:\pcre-8.41-install\include PCRELIBDIR=C:\pcre-8.41-install\lib
nmake /K -f Makefile_client PCREINCDIR=C:\pcre-8.41-install\include PCRELIBDIR=C:\pcre-8.41-install\lib
找不到pcre.lib
方法1:修改Makefile_pcre.inc,将pcre.lib改为pcred.lib
方法2:待补充
找不到grp.h
方法:删除include中以生成的config.h
问题:为啥得自己去建文件夹才能生成exe
hclient.exe -c D:\file_tmp\conf\hclient.win.conf -i (install)
hclient.exe -c D:\file_tmp\conf\hclient.win.conf -s(start)
hclient.exe -c D:\file_tmp\conf\hclient.win.conf -x(stop)
修改win.conf注意
显示server无法连接该client:
配置防火墙:防火墙高级安全->入站规则->新建规则->类型:端口->特定端口