LibCurl - 释放静态库链接问题
我一直在这里一段时间了。我希望有人能告诉我我做错了什么。LibCurl - 释放静态库链接问题
这是我到目前为止所采取的步骤:
-Downloaded最新版本的卷曲(7.21.7)。
- 使用vc6curl.dsw在Visual Studio 2010中打开解决方案并将项目转换为VS2010。
- 将libcurl项目配置设置为“发布”并构建。构建成功。创建一个名为“LIB-Release”的文件夹。它包含多个obj文件,“libcurl.lib”文件也位于此处。
测试应用:
- 在项目的设置,我指着编译器卷曲包括(头)。
C/C++ >>通用>>附加包含目录
- 增加了 “CURL_STATICLIB” 的预处理器定义
C/C++ >>预处理定义
- 增加了路径“ libcurl.lib
链接>>一般在我的链接器的其它库的依赖”文件夹>>附加库目录
- 新增“libcurl.lib”我的连接额外的依赖
链接>>输入>>附加依赖
- 设置我的项目配置“Realease”和击筑!
我得到42个无法解析的外部错误:
错误65错误LNK1120:42悬而未决 的外部C:\用户\尼克\文档\ Visual Studio的 2010 \项目\ curl_static_lib \发布\ curl_static_lib.exe curl_static_lib 错误61错误LNK2001:解析外部符号 ___ WSAFDIsSet @ 8 C:\用户\尼克\文件\的Visual Studio 2010 \项目\ curl_static_lib \ curl_static_lib \ libcurl.lib(select.obj)curl_static_lib 错误59错误LNK2001:解析外部符号 _ imp _accept @ 12 C:\用户\尼克\文件\的Visual Studio 2010 \项目\ curl_static_lib \ curl_static_lib \ libcurl.lib(ftp.obj)curl_static_lib 错误46错误LNK2001:解析外部符号 _ imp的 _ber_free C: \用户\尼克\文件\的Visual Studio 2010 \项目\ curl_static_lib \ curl_static_lib \ libcurl.lib(ldap.obj)curl_static_lib 错误26错误LNK2001:解析外部符号 _ 小鬼 _bind @ 12 C:\用户\尼克\ Documents \ Visual Studio 2010 \ Projects \ curl_static_lib \ curl_static_lib \ libcurl.lib(connect.obj)curl_static_lib
我已经尝试使用“调试”配置以及建设。有人能告诉我我要去哪里吗?
为Windows创建CURL的最佳方式是将NMake与提供的Makefiles一起使用。 您可以
修改Makefile文件卷曲设置您使用VC的版本,然后运行
nmake vc-all
(或选择适合你的任何其他VC的目标)的根文件夹。检查./docs/INSTALL文件的“Win32”部分。使用./winbuild文件夹中的Makefile.vc。检查./winbuild/BUILD.WINDOWS.txt关于如何使用它。
这工作。该命令给nmake添加了可选参数vc = 10。这建立了一个静态的libcurl_a.lib – Nick
这些错误表示libcurl使用的函数不在链接器配置中指定的任何导入库中。
听起来像至少插座导入库(ws2_32.lib)应该在那里。
请注意,如果您将libcurl编译为DLL,那么所有导入库都将指定为DLL链接的一部分,因此您的应用程序不需要导入所有这些库,只需要链接到curl导入库。您选择将curl编译为静态库的事实会使curl代码成为应用程序的一部分,因此必须在应用程序的链接器配置中提供所有支持库。
您可能尝试使用./winbuild文件夹中的Makefile.vc或./lib文件夹中的Makefile.vc8(9,10)使用NMAKE进行构建。从VS命令提示符处运行“nmake -f”。 –
istepura
男人!我已经使用make文件多次尝试,但我没有发现有针对的makefile – Nick
如果你想添加你的答案病检查它 – Nick