vc2015 编译libcurl带openssl
来源:互联网 发布:单桂敏淘宝店铺 编辑:程序博客网 时间:2024/06/05 15:14
1.先编译zlib下载地址 http://zlib.net/
我这边vc2015编译需要配置环境变量,不知道是装了wdk的原因还是多个vc版本的原因
设置环境变量lib和include路径
INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt\sys
LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x64
然后用vc2015的控制台命令,进入到代码路径
nmake -f win32\Makefile.msc clean
nmake -f win32\Makefile.msc
编译完成后,修改lib路径为x86路径,注销系统,重新执行vc2015的控制台(x86)版本,即可生成对应的dll和lib
如果需要编译mt版本的,修改Makefile.msc中的CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC) 中的MD为MT
这编译出来的是realse版本的,如果debug版本项目使用realse版本zlib的时候,需要将多线程调试 DLL (/MDd)" 改为 "多线程 DLL (/MD)
2.编译openssl http://blog.csdn.net/u010008152/article/details/17190441
3.编译libcurl
下载地址 https://curl.haxx.se/download.html
编译主要参考自带的文档 winbuild\BUILD.WINDOWS.txt
同样修改 lib路径(同上)
同样使用vc命令行,cd到curl-*\winbuild路径下配置deps目录
切换x86的时候直接用x86的lib替换掉就可以了
执行命令如:nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.0\deps" WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x64
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.0\deps" WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x86
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.3\deps" ENABLE_IDN=no WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x64
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.3\deps" ENABLE_IDN=no WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x86
Enable use of Windows IDN APIs, defaults to yes Requires Windows Vista or later
如果编译失败,提示连接错误之类的,可以尝试直接清空builds目录下面的所有文件,再来一次
如果出现在xp下面运行无法定位程序输入点GetTickCount64的话,需要自己手动修改MakefileBuild.vc文件,找到!IF "$(VC)"=="6"
CC_NODEBUG = $(CC) /O2 /DNDEBUG
CC_DEBUG = $(CC) /Od /Gm /Zi /D_DEBUG /GZ
CFLAGS = /I. /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL
!ELSE
CC_NODEBUG = $(CC) /O2 /DNDEBUG
CC_DEBUG = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd /W3
CFLAGS = /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL
!ENDIF
修改后面的
CFLAGS = /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL /D_USING_V110_SDK71_
找到(后面也增加/D_USING_V110_SDK71_)
CURL_CFLAGS = /I../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /D_USING_V110_SDK71_
原因看config-win32.h里面的
# if defined(_USING_V110_SDK71_)
# define VS2012_DEF_TARGET 0x0501
# else
# define VS2012_DEF_TARGET 0x0600
# endif
编译完成后会得到builds\libcurl-vc14-x86-release-dll-ssl-dll-zlib-dll-ipv6-sspi目录,里面的东西就是我们想要的了
不过,得到的libcurl好像并没有导入zlib,尽管上面的命令是动态导入的dll
- vc2015 编译libcurl带openssl
- 编译libcurl+zlib+openssl
- libcurl+zlib+openssl编译安装
- windows visual 编译openssl+libcurl
- libcurl,sqllite,log4cpp,openssl交叉编译
- libcurl 支持 openssl 交叉编译 mips rt5350
- vc2015编译protobuf
- vc2015静态编译方法
- VC2015编译小问题
- ios5.1编译带SSL的libcurl
- mips交叉编译libcurl带http2.0
- MinGW与编译libcurl(附加openssl,zlib,libssh)
- 使用mingw编译支持openssl 的 libcurl(windows下)
- 使用VS编译libcurl库(支持libSSH2和OpenSSL)
- vc2015编译paho.mqtt.c-1.1.0
- Win10+VC2015+libxml2-2.9.7 编译过程
- 编译libcurl
- 编译libcurl
- QT 控件示例收集
- Android滑动选择控件 WheelView
- 本地mysql数据库5.6.24配置
- Umbraco 官方技术文档 翻译 八、Templates 模板
- spring-session使用教程(一):redis共享session
- vc2015 编译libcurl带openssl
- MySQL导入大批量数据时报错:MySQL server has gone away
- JavaScript实现拖拽预览,AJAX小文件上传
- HDU 5749 Colmerauer
- 点击屏幕键盘退出
- POJ 1915 Knight Moves
- SQL SERVER 连接几个知识点
- 半平面交
- 三维旋转:旋转矩阵,欧拉角,四元数