vs2015编译libcurl+ssl+zlib(MT静态版)

来源:互联网 发布:linux应用层 编辑:程序博客网 时间:2024/05/21 21:50

编译不需要vc运行时的MT静态库版本的libcurl+ssl+zlib

三个库的目录放在同级目录下,以便对应本文的路径。
一定要使用VS2015 的 MSBuild 命令提示符,否则编译openssl可能会因为环境识别导致各种失败


zlib

优先把找到Makefile.msc的

CFLAGS  = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)

这一行,改为MD改为MT

使用VS2015 的 MSBuild 命令提示符工具,cd到zlib-1.2.8目录,使用命令编译

nmake -f win32/Makefile.msc OBJA="inffast.obj"  

openssl

安装ActivePerl,自行搜索下载,一路Next安装完成
打开ms\nt.mak文件
修改为 CFLAG= /MT

使用VS2015 的 MSBuild 命令提示符,CD到openssl根目录,依次执行:

perl Configure VC-WIN32ms\do_ms.bat "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/vcvars32.bat"nmake -f ms/nt.mak 

其他选项参考:

编译动态库:nmake -f ms\ntdll.mak编译静态库:nmake -f ms\nt.mak测试动态库:nmake -f ms\ntdll.mak test测试静态库:nmake -f ms\nt.mak test安装动态库:nmake -f ms\ntdll.mak install安装静态库:nmake -f ms\nt.mak install清除上次动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean清除上次静态库的编译,以便重新编译:nmake -f ms\nt.mak clean

libcurl

进入libcurl根目录下的lib目录,新建一名为release_ssl_zlib.bat的批处理文件,其内容如下:

call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/vcvars32.bat"set CFG=release-ssl-zlibset RTLIBCFG=staticset OPENSSL_PATH=../../openssl-1.0.1uset ZLIB_PATH=..\..\zlib-1.2.8nmake -f Makefile.vc14pause

路径根据自己设定的来写,如果是都在同级目录,那么就按照这样就行了。

执行批处理文件以后,在lib目录下的release-ssl-zlib目录中,会生成libcurl.lib静态库。

使用时需要Copy文件并引用
libcurl.lib
libeay32.lib
ssleay32.lib
zlib.lib

预处理器 CURL_STATICLIB


在vs2015引用会遇到问题

“链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的”

解决方法:
1.打开该项目的“属性页”对话框。
2.单击“链接器”文件夹。
3.单击“命令行”属性页。
4.将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用。

0 0
原创粉丝点击