使用Visual Studio 2013进行cURL

bes*_*taa 5 c++ curl libcurl nuget visual-studio-2013

所以我和cURL一起作为一个非常好的库而且在OSX中运行得非常好.但是现在在Windows上我已经为这个库做好了准备.我现在用Google搜索了大约2天,并尝试了十几种(详细的)不同的方法来做好准备.没有任何成功.

以下是我基本上尝试过的一些方法:

  1. 直接下载:这里的问题已经从正确的下载开始.官方下载页面相当令人困惑,所以我认为这个"cURL下载向导">"libcurl开发"给了我一个版本,我应该能够包含在任何项目中.但究竟要包括它呢?在任何指示中,它引导我到我甚至没有的目录.几乎总是提到这个"curllib.lib".我在该下载页面上下载了大约6个不同的版本,其中没有一个版本存在此文件.(参见例如说明)
  2. Git + CMake:作为上述链接的解决方案,建议在此使用git clone.我在那里做了所有的指示,并且只用警告生成了Project.但是在这里它也说:
    在构建安装目标之后,你会在C:\ curl.vc12中找到bin/include/lib文件夹
    嗯,我没有真正得到他的"构建安装目标",我只是构建整个项目地图来了.编译正常(115成功,0失败,2跳过).但现在C:\ curl.vc12不在那里.在编译之前我需要预先设置什么?
  3. NuGet:这个想法再次来自第(1)点的链接,与NuGet的不同解决方案.
    有了Successfully added 'curl 7.30.0.2' to test.它似乎也很好,但编译simple.c导致一堆unresolved external symbol链接器错误.但是提供了一个解决方案:
    确保在项目属性中的Visual C++目录下指定了include目录和lib目录.
    所以在Project > Properties > VC++ Properties > "Include Directories"
    Project > Properties > VC++ Properties > "Library Directories"
    以及在Project > C/C++ > General > "Additional Include Directories"Project > Linker > General > "Additional Library Directories"我拼命地从我的项目文件夹添加\包\路径.
    如说明书中所述,我加入libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;libssh2.lib;zlib.lib;wldap32.lib;Project > Linker > Input > "Additional Dependencies".
    所有这一切,unresolved external symbol错误都消失了!因此,我只得到一个错误cannot open file 'libcurl.lib'.我能在这做什么?

我对这一切都很陌生.但是我现在正在努力让这个最终发挥作用.那我该怎么办?
我使用Visual Studio 2013社区版.目前最新版本的cURL是7.42.1.非常欢迎任何帮助!

Jei*_*nzi 10

我自己有问题,现在终于搞定了.我从官方网站上下载了curl-7.42.1.zip.在存档中,您将找到源代码和winbuild/BUILD.WINDOWS.txt,它基本上包含我遵循的说明.我假设它已被解压缩到C:\ curl-7.42.1.

打开位于的Visual Studio命令提示符

C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts

这会自动设置使用Visual Studio工具(如编译器)所需的环境变量.然后转到winbuild目录并调用

nmake/f Makefile.vc mode = dll

如上面提到的文本文件中所述.

那将创建目录

C:\卷曲-7.42.1 \建立\ libcurl中,VC-x86的版本的DLL-IPv6的SSPI-winssl

包含libcurl.dll,libcurl.lib和必要的头文件.我们将其重命名为C:\curl-7.42.1\builds\release:'D

  1. 然后打开你的项目.
  2. 打开项目的属性.
  3. 确保选择Release as configuration(左上角)!
  4. 导航VC++ Directories > Include directories并添加C:\curl-7.42.1\builds\release\include
  5. 添加C:\curl-7.42.1\builds\release\libVC++ Directories > Library directories.
  6. 转到Linker > Input > Additional Dependencies并添加libcurl.lib.
  7. 最后复制C:\curl-7.42.1\builds\release\bin\libcurl.dll到您的项目文件夹.

这应该够了吧!:D如果你想在调试模式下使用cURL,你可以做几乎相同的,重新编译使用nmake /f Makefile.vc mode=dll debug=yes,转到项目的属性,添加新创建的目录路径(将libcurl.lib更改为libcurl_debug.lib),你应​​该完成.