cURL with Visual Studio 2013

cURL with Visual Studio 2013

本文关键字:2013 Studio Visual with cURL      更新时间:2023-10-16

所以我把cURL作为一个非常好的库,在OSX上工作得非常好。但是在windows上,现在我有大麻烦准备这个库。我在谷歌上搜索了大约2天,尝试了十几种不同的方法来准备这个。没有任何成功。

以下是我尝试过的一些方法:
  1. 直接下载:这里的问题已经开始于正确的下载。官方下载页面相当混乱,所以我考虑了这个"cURL下载向导">"libcurl开发",它给了我一个版本,我应该能够包含到任何项目中。但是如何准确地包含它呢?在任何指示,它导致我的目录,我甚至没有。几乎总是这个"卷发"。提到了"Lib"。我在那个下载页面上下载了大约6个不同的版本,其中没有一个是这个文件。(参见本指令)
  2. Git + CMake:作为上述链接的解决方案,建议使用Git克隆。我在那里做了所有的说明,也得到了项目生成的警告。但这里也写着:
    构建安装目标后,您将在C:curl中找到bin/include/lib文件夹。vc12
    好吧,我没有真正得到他的点"构建安装目标",我只是构建整个项目地图,因为它来了。编译良好(成功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"中,我拼命地从我的项目文件夹中添加了packages路径。
    如说明中所述,我将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 Community Edition。当前最新的cURL版本是7.42.1。欢迎任何帮助!

我自己也有问题,现在终于修好了。我从官方网站下载了curl-7.42.1.zip。在归档文件中,您将找到源代码和winbuild/BUILD.WINDOWS.txt,其中基本上包含了我所遵循的说明。我假设它已经解压缩到C:curl-7.42.1.

打开位于

的Visual Studio命令提示符

C:Program Files (x86)Microsoft Visual Studio 12.0Common7ToolsShortcuts

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

nmake/f Makefile。vc模式= dll

在我上面提到的文本文件中描述。

创建目录

C: curl-7.42.1 制造 libcurl-vc-x86-release-dll-ipv6-sspi-winssl

包含libcurl.dll, libcurl.dll。Lib和必要的头文件。我们把它重命名为C:curl-7.42.1buildsrelease:'D

    然后打开你的项目。打开项目的属性。
  1. 确保您选择Release作为配置(左上角)!
  2. 导航到VC++ Directories > Include directories并添加C:curl-7.42.1buildsreleaseinclude
  3. 添加C:curl-7.42.1buildsreleaselibVC++ Directories > Library directories
  4. 转到Linker > Input > Additional Dependencies并添加libcurl.lib
  5. 最后将C:curl-7.42.1buildsreleasebinlibcurl.dll复制到你的项目文件夹中。

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

我也有同样的问题。我从https://github.com/curl/curl下载了curl。实际上,你可以直接用Visual Studio 2013编译它(但要注意参数设置:x64版本)。主要区别在于它提供了libcurl_imp.lib。然后,您所要做的就是如上所述设置环境变量。只是想提一下,您必须使用libcurl_imp。Lib而不是libcurl。lib中的附加依赖项(我怀疑这个变化是因为新版本的curl)。