文章目录
全部资料 下载链接,若打不开稍后点击
1.windows环境准备
- 下载好的代码展示
2.先编译zlib,因为依赖库最少(用nmake去做动态库编译)
- 下载地址
www.zlib.net
- 总览
nmake是vs自带的编译行工具
- 编译步骤
备注
①找到菜单的vs2017的x64_86交叉工具命令提示符-》编成32位
②菜单的vs2017x64本机工具-》编成64位
③vs2017的x86_64兼容-》用x86版本的编译64位的
①这里选择编译32位,选择①用x64编译成x86的
②cd到对应目录
③nmake /f WIN32\Makefile.msc
④写批处理命令bulid_zlib_vs2019.bat
@echo "start to compile zlib"
SET VS=”vs2019 x64_x86交叉编译工具的路径“//设置变量
SET OUT=C:\3rd\out\VS019_32\zlib //设置输出的绝对路径,把Lib文件和dll文件分开存放
call %VS% //取变量,避免路径发生变化
cd zlib-1.2.11 //进入路径
nmake /f win32/Makefile.msc clean //编译前清零
nmake /f win32/Makefile.msc //编译
//创建路径
md %OUT%\lib
md %OUT%\bin
md %OUT%\include
copy /Y *.lib %OUT%\lib // /Y表示不希望问题弹出来
copy /Y *.h %OUT%\include //头文件放include
copy /Y *.dll %OUT%\bin //
copy /Y *.exe %OUT%\bin
@echo "finished compiling zlib"
pause //显示是否结束
⑤执行脚本
3.编译openssl
- 下载地址
www.openssl.org/source/
- 资料下载地址
http://www.ffmpeg.club/libevent.html
下载到对应libevent目录,用vs的x64_x86交叉工具安装,使用perf Configure VC-WIN32 --prefix=E:\libevent\out\vs2019_32\openssl编译,然后用nmake install安装
- 编译安装脚本
@echo "start to compile openssl"
SET VS=”vs2019 x64_x86交叉编译工具的路径“//设置变量
SET OUT=C:\3rd\out\VS019_32\openssl //设置输出的绝对路径,把Lib文件和dll文件分开存放
call %VS% //取变量,避免路径发生变化
cd C:\3rd\openssl-1.1.1
perl Configure VS-WIN32 --prefix=%OUT%
nmake clean
nmake
nmake install
@echo "finished openssl install"
pause
4.编译libevent
- 下载地址:
github
github.com/libevent/libevent
- libevent需要修改的地方
①test里面的Makefile.nmake的第6行libeay32lib和ssleay32.lib换成libssl.lib和libcrypto.lib
②test里面的Makefile.nmake的第39行: LIBS=后增加…\libevent.lib
③test里面的regress_zlib.c的第23行末尾增加regress_zlib.obj,第13行CFLAGS=后增加/I…/zlib (因为缺失zlib.h头文件,将头文件放在libevent-master这个目录里面了)
④开启编译zlib,也可以编译,在regress_bufferevent.c的第1382行,若添加编译zlib则定义宏定义,打开event2/的event-config.h头文件的第86行
- 编译脚本
@echo "start to compile libevent"
SET VS=”vs2019 x64_x86交叉编译工具的路径“//设置变量
SET OUT=C:\3rd\out\VS019_32\libevent //设置输出的绝对路径,把Lib文件和dll文件分开存放
call %VS% //取变量,避免路径发生变化
cd libevent-master
nmake /f Makefile.nmake clean
nmake /f Makefile.nmake OPENSSL_DIR=C:\3rd\out\vs2019_32\openssl
md %OUT%\lib
md %OUT%\bin
md %OUT%\include
copy /Y *.lib %OUT%\lib
xcopy /S/Y include %OUT%\include\
xcopy /S/Y WIN32-Code\nmake %OUT%\include\
copy /Y *.lib %OUT%\bin
copy /Y *.lib %OUT%\bin
@echo "finished libevent compiling install"
pause