c++ - LibCurl - 发布静态库链接问题

标签 c++ c visual-c++ curl libcurl

我已经有一段时间了。我希望有人能告诉我我做错了什么。

这些是我到目前为止采取的步骤:

-下载最新版本的 cURL (7.21.7)。

-使用 vc6curl.dsw 在 Visual Studio 2010 中打开解决方案并将项目转换为 VS2010。

-将 libcurl 项目配置设置为“发布”并构建。构建成功。创建了一个名为“LIB-Release”的文件夹。它包含几个 obj 文件,“libcurl.lib”文件也位于此处。

测试应用:

-在项目的设置中,我将编译器指向 curl includes (headers)。

C/C++ >> 常规 >> 附加包含目录

-在预处理器定义中添加了“CURL_STATICLIB”

C/C++ >> 预处理器定义

-在我的链接器附加库依赖项中添加了“libcurl.lib”文件夹的路径

链接 >> 一般 >> 其他图书馆目录

-将“libcurl.lib”添加到我的链接器附加依赖项

链接>>输入>>附加依赖

-将我的项目配置设置为“发布”并点击构建!

我收到 42 个 Unresolved external 错误:

Error 65 error LNK1120: 42 unresolved externals C:\Users\Nick\Documents\Visual Studio 2010\Projects\curl_static_lib\Release\curl_static_lib.exe curl_static_lib Error 61 error LNK2001: unresolved external symbol ___WSAFDIsSet@8 C:\Users\Nick\Documents\Visual Studio 2010\Projects\curl_static_lib\curl_static_lib\libcurl.lib(select.obj) curl_static_lib Error 59 error LNK2001: unresolved external symbol _imp_accept@12 C:\Users\Nick\Documents\Visual Studio 2010\Projects\curl_static_lib\curl_static_lib\libcurl.lib(ftp.obj) curl_static_lib Error 46 error LNK2001: unresolved external symbol _imp_ber_free C:\Users\Nick\Documents\Visual Studio 2010\Projects\curl_static_lib\curl_static_lib\libcurl.lib(ldap.obj) curl_static_lib Error 26 error LNK2001: unresolved external symbol _imp_bind@12 C:\Users\Nick\Documents\Visual Studio 2010\Projects\curl_static_lib\curl_static_lib\libcurl.lib(connect.obj) curl_static_lib

我也尝试过使用“调试”配置进行构建。有人可以告诉我哪里出错了吗?

最佳答案

为 Windows 构建 CURL 的最佳方法是使用 NMake 和提供的 Makefile。 你可以

  1. 修改 CURL 根文件夹中的 Makefile 以设置您使用的 VC 版本,然后运行 ​​nmake vc-all(或选择任何其他适合您的 VC 目标)。检查 ./docs/INSTALL 文件的“Win32”部分。

  2. 使用 ./winbuild 文件夹中的 Makefile.vc。查看 ./winbuild/BUILD.WINDOWS.txt 了解如何使用它。

关于c++ - LibCurl - 发布静态库链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369663/

相关文章:

c++ - 模板实例化的范围解析

c++ - c++中 "expression must be a modifiable lvalue"错误如何解决?

C++ 结构内存分配

c++ - mkdir C++ 函数

C++:在字符串中 move 语义#append

c - 在 C 程序中使用 chmod

c++ - 遍历迷宫和深度优先搜索

c++ - B为 Armadillo 中对称矩阵时的A * B计算

c++ - SetKeyboardState 不能正常工作

c - 数组指向的结构? [C]