windowX64 vs2012环境下静态链接编译32位libcurl 支持openssl
2016-11-29 00:19
309 查看
编译整整花了我一个周末,快要疯了,不是libcurl版本和openssl版本不兼容,就是一系列配置问题,各种报错,终于编译通过了,特别记录下来,防止 以后忘记了!
环境信息:
操作系统:windows10 64位
VS版本:2012
libcurl版本:7.29.0
openssl版本:1.0.1u
编译结果:libcurl x86 支持openssl的静态链接库,openssl也是静态链接库,msvcrt运行时也是静态链接,都是release模式
一、编译openssl
0、安装nasm汇编编译器
1、先安装perl for window安装包(编译脚本perl语言写的)
2、打开VS2012 X86命令行工具,执行命令ppm install dmake 安装dmake
3、进入openssl源代码要目录
4、执行命令perl Configure VC-WIN32
5、执行命令ms\do_ms
6、执行命令nmake -f ms\nt.mak
7、编译完成(*.lib文件在out32目录下,头文件在inc32目录下)
二、编译libcurl
|_libcurl
.......|_winbuild
|
|_deps
.....|_ lib
.....|_ include
.....|_ bin
1、将目录结构建立成上面的样式!!!非常重要!!!
2、将openssl/out32目录下的*.lib文件都复制到deps/lib目录下
3、将openssl/inc32/openssl目录下的所有文件都复制到deps/include/openssl目录下
4、打开VS2012 X86命令行工具
5、进入libcurl/winbuild目录
6、执行命令nmake /f makefile.vc mode=static WITH_SSL=static RTLIBCFG=static DEBUG=no ENABLE_SSPI=no
7、编译完成(编译结果在libcurl\builds\libcurl-vc-x86-release-static-ssl-static-ipv6-spnego目录下)
备注:当libcurl_a.lib引用项目中一起编译的时候出现"libcurl_a.lib模块对于SAFESEH 映像是不安全的"的错误,去项目属性-》配置属性-》链接器-》命令行:在【其他选项】中输入/SAFESEH:NO 即可解决,至于为什么,我也不是很了解,有大神知道的,还望留言!
环境信息:
操作系统:windows10 64位
VS版本:2012
libcurl版本:7.29.0
openssl版本:1.0.1u
编译结果:libcurl x86 支持openssl的静态链接库,openssl也是静态链接库,msvcrt运行时也是静态链接,都是release模式
一、编译openssl
0、安装nasm汇编编译器
1、先安装perl for window安装包(编译脚本perl语言写的)
2、打开VS2012 X86命令行工具,执行命令ppm install dmake 安装dmake
3、进入openssl源代码要目录
4、执行命令perl Configure VC-WIN32
5、执行命令ms\do_ms
6、执行命令nmake -f ms\nt.mak
7、编译完成(*.lib文件在out32目录下,头文件在inc32目录下)
二、编译libcurl
|_libcurl
.......|_winbuild
|
|_deps
.....|_ lib
.....|_ include
.....|_ bin
1、将目录结构建立成上面的样式!!!非常重要!!!
2、将openssl/out32目录下的*.lib文件都复制到deps/lib目录下
3、将openssl/inc32/openssl目录下的所有文件都复制到deps/include/openssl目录下
4、打开VS2012 X86命令行工具
5、进入libcurl/winbuild目录
6、执行命令nmake /f makefile.vc mode=static WITH_SSL=static RTLIBCFG=static DEBUG=no ENABLE_SSPI=no
7、编译完成(编译结果在libcurl\builds\libcurl-vc-x86-release-static-ssl-static-ipv6-spnego目录下)
备注:当libcurl_a.lib引用项目中一起编译的时候出现"libcurl_a.lib模块对于SAFESEH 映像是不安全的"的错误,去项目属性-》配置属性-》链接器-》命令行:在【其他选项】中输入/SAFESEH:NO 即可解决,至于为什么,我也不是很了解,有大神知道的,还望留言!
相关文章推荐
- windowX64 vs2012环境下静态链接编译32位libcurl 支持openssl
- 在vs2012的编译环境下使用openssl
- libcurl 支持 openssl 交叉编译 mips rt5350
- MinGW编译支持openssl-1.0.0a的libcurl-7.21.3
- Openssl的编译安装以及Vs2012上环境搭建教程
- libcurl 支持 openssl 交叉编译 mips rt5350
- Ubuntu+NDK编译openssl(为了Android上使用libcurl且支持HTTPS协议)
- 使用mingw编译支持openssl 的 libcurl(windows下)
- libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)
- libcurl 支持 openssl 交叉编译 mips rt5350
- 在window平台下,自己DIY编译OpenSSL,Libcurl ,来支持HTTPS传输协议
- 【转帖】windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)
- Windows平台编译openssl-0.9.8k库(32位、64位)
- golang 64位linux环境下编译出32位程序
- win编译libcurl 32位和64位
- 在windows上编译libcurl(支持SSL)
- 不重新编译php添加对openssl的支持
- Ubuntu+NDK编译支持HTTPS的libcurl
- eclipse下支持vc++编译环境
- libcurl,sqllite,log4cpp,openssl交叉编译