编译clamav 2019-1-29
程序员文章站
2022-05-27 13:32:24
...
环境: VS2017 + windows 10 x64系统
- 下载安装ActiveState ActivePerl
- 下载OpenSSL 1.1.1a
- 建立4个目录
C:\openssl-src-32
C:\openssl-src-64
C:\openssl-build-32
C:\openssl-build-64
- 将openSSL源码解压两次, 分别解压到openssl-src-32, 和openssl-src-64. 注意, 目录下直接就是源码, 而不是openssl-OpenSSL_1_1_1a文件夹.
- 以管理员权限, 打开vs prompt x86/x64, cd到src-32/64对应目录.
对32位, 输入:
perl Configure VC-WIN32 --prefix=C:\openssl-build-32
对64位,输入:
perl Configure VC-WIN64A --prefix=C:\openssl-build-64
注意, 此时他可能会输出个信息, 说
"It looks like you don't have either nmake.exe or dmake.exe on your PATH,
so you will not be able to execute the commands from a Makefile. You can
install dmake.exe with the Perl Package Manager by running: ppm install dmake"
无视他. 因为nmake在VS prompt进程的环境中.
之后, 对32位或64位, 都输入:
nmake
nmake install //在这一步, 文件会被拷贝到openssl-build-xx中
创建目录:
C:\clam_dependencies
C:\clam_dependencies\win32
C:\clam_dependencies\win32\lib
C:\clam_dependencies\x64
C:\clam_dependencies\x64\lib
拷贝C:\openssl-build32\include 到 C:\clam_dependencies\win32
拷贝C:\openssl-build32\bin*.{dll,exe}到C:\clam_dependencies\win32\lib
拷贝C:\openssl-build64\include 到 C:\clam_dependencies\x64
拷贝C:\openssl-build64\bin*.{dll,exe}到C:\clam_dependencies\x64\lib
(按照官方博客说的, 会有名为libeay32和ssleay32的库, 但我没找到, 我这儿就是libssl和libcrypto, 反正后面也编译成功了.)
添加环境变量
名CLAM_DEPENDENCIES, 值为C:\clam_dependencies
注意, 此处文件夹clam_dependencies名字可随意, 但此文件夹下的文件夹名必须完全一致. 例如x64不能写成win64.
-
下载clamav源码, 解压.
-
用VS打开clamav-devel\win32\ClamAV.sln, 然后选择不同的编译方式编译代码即可.
参考资料:
clamav-devel\win32\readme.md
clamav-devel\readme.md
官方博客说明