我已经有一段时间了。我希望有人能告诉我我做错了什么。
这些是我到目前为止采取的步骤:
-下载最新版本的 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。 你可以
修改 CURL 根文件夹中的 Makefile 以设置您使用的 VC 版本,然后运行
nmake vc-all
(或选择任何其他适合您的 VC 目标)。检查 ./docs/INSTALL 文件的“Win32”部分。使用 ./winbuild 文件夹中的 Makefile.vc。查看 ./winbuild/BUILD.WINDOWS.txt 了解如何使用它。
关于c++ - LibCurl - 发布静态库链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369663/