如何在VS项目中构建和链接libCurl

时间:2011-08-29 04:31:55

标签: c++ visual-studio-2010 curl libcurl

我正在尝试在我正在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会出现相同的错误:( 感谢

2 个答案:

答案 0 :(得分:0)

你需要两者都能成功。尝试这个建议(它适用于vs2008但应该有效):

http://curl.haxx.se/mail/lib-2009-05/0097.html

答案 1 :(得分:0)

imp中的_ libcurld_imp.lib后缀很可能代表导入库。您正在构建DLL,并且此文件是您需要链接到您的exe以隐含地调用DLL的库。

解决方案应该包含其他可以构建静态库的配置。