vs2015 C++ 使用libcurl

vs2015 C++ 使用libcurl

由于项目需要接入http服务,查找了一些资料,对于windows下使用libcurl,网上好多教程或者文档,要么实在太麻烦,要么不对路子,更多的问题是没有做不同编译条件做不同的库文件选择。本人做了长时间的.net开发,对于vs提供的nuget工具十分喜欢,所以本次c++项目也看看能不能用nuget,果不其然是可以依靠nuget极大简化三方库接入工作的。
具体操作如下:

  • 新建一个C++ 控制台工程后,菜单栏>>工具>>NuGet包管理器>>管理解决方案的NuGet程序包
  • 在浏览标签下,搜索openssl-vc140,得到一些结果后选择openssl-vc140-static-32_64程序包,右边对项目打钩,然后点安装按钮,这个是下面要安装的curl的依赖项,尽管依赖项说明里没有说有依赖项
  • 同样的方式搜索curl,选择curl-vc140-static-32_64程序包,安装到相应的项目
  • 项目右键>>属性>>连接器>>输入>>附加依赖项加入crypt32.lib;ws2_32.lib;wldap32.lib;
  • 好了,可以愉快的使用libcurl了,但是编译后有报警:LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library,在项目属性>>连接器>>命令行 输入:/NODEFAULTLIB:“libcmtd.lib”
  • OJBK

其他说明:

  • 经验证,不需要加任何预处理定义
  • 程序包提供了Debug/Release,x86/x64等各种编译条件下的库文件,可以随意选择编译条件
  • vs2015的版本号是vc140vs2017的版本号是vc141,如果你是2017,你需要找相应版本的程序包
  • 附本文的示例工程VS2015 NuGet 使用libcurl示例工程

猜你喜欢

转载自blog.csdn.net/wangzhejun123/article/details/88075503