编译curl-ssl版本碰到很多坑,这里记录一下。亲手测试,注意版本号!!!!!
1.下载 curl-7.43.0 libssh2-1.3.0 openssl-1.0.0s ActivePerl5 zlib nasm
2. 编译openssl,在编译的时候可以参考这边文章http://www.oschina.net/question/54100_138557
编译环境 vs2010 ,openssl版本 : openssl-1.0.0s(vs2010编译过没问题,其余的版本用vs2013编译出问题!!!高版本会出现构造函数什么错误)
vs2010命令窗口进入 openssl目录,ms\32all.bat全部编译 (如果使用vs2013编译 会出现gethostbyname函数问题,按照提示定义宏还是不能编译过,只能用vs2010编译)
等待漫长的过程就会出现编译成功。当前目录下面out32就是 编译出来我们需要的东西了。
3.编译libssh2-1.3.0,直接双击.dsw的文件,vs2010自动打开项目,将相关文件添加到include里面(也可以设置头文件路径,比较麻烦,dll lib 版本都需要的话,要多次添加,直接将头文件复制到include里面很省时).编译出来就是libssh2.lib文件和libssh2.dll了。
4.进入projects目录,双击build-openssl.bat,然后进入目录curl-7.43.0\projects\Windows\VC12,双击打开项目,这是使用的是vs2013打开的。将相关库文件拷贝到lib里面进行编译。如果使用 vs2013必定会出现"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的”情况。看这个链接http://blog.csdn.net/zengraoli/article/details/11919307
即可解决问题。
成功编译花了一天时间! 不同的版本号出现不同的坑!