我正在尝试在我正在VS2010中使用的C ++项目中使用cURL。
我下载了最新的cURL源代码,我正在构建归档中包含的解决方案。当我构建这个项目时,唯一的输出lib似乎是“libcurld_imp.lib”。我期待着一个“libcul.lib”。在任何情况下,我都将VS指向头部所在的include目录,并将上面提到的lib添加到我的链接器的依赖项中。最后,我将此“libcurld_imp.lib”的文件夹路径添加到链接其他库搜索位置。
由于以下链接器错误,我无法构建我的项目:
错误LNK1104:无法打开文件'libcurld_imp.lib'
此文件存在于我添加到链接器的其他库搜索路径的文件夹中。我错过了什么?感谢
更新
好的..所以能够通过编辑libcurl项目来获取libcurl.lib文件。默认构建设置被设置为输出DLL。我将其更改为静态库。现在我有一个libcurl.lib,我收到这些链接错误:
错误3错误LNK2019:函数_main中引用的未解析的外部符号_ imp _curl_easy_setopt 错误2错误LNK2019:函数_main中引用了未解析的外部符号_ imp _curl_easy_perform
任何人都知道如何链接这个friggen的东西?
另一次更新
源代码下载中包含的文档包含一个文件“build.windows”。方向说使用以下命令构建lib:
nmake / f makefile.vc mode =
我使用“static”作为我的模式,“VC = 10”作为我的选择。这会构建库,但它被称为libcurl_a.lib。链接到此lib会出现相同的错误:( 感谢
答案 0 :(得分:0)
你需要两者都能成功。尝试这个建议(它适用于vs2008但应该有效):
答案 1 :(得分:0)
imp
中的_ libcurld_imp.lib
后缀很可能代表导入库。您正在构建DLL,并且此文件是您需要链接到您的exe以隐含地调用DLL的库。
解决方案应该包含其他可以构建静态库的配置。