我是c/c++新手....最近我试图用libCurl编译一个程序。但是它显示了这些错误:
Error: Error: Unresolved external '_curl_easy_init' referenced from D:BC5BINHTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_setopt' referenced from D:BC5BINHTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_perform' referenced from D:BC5BINHTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_cleanup' referenced from D:BC5BINHTTP-POST.OBJ
我在网上搜索了这些错误,并知道这是链接器错误。我找到了很多关于这个问题的教程。但我不能理解。
请注意,我有libcurl.dll和许多头文件,我已经复制了头文件在D:BC5INCLUDE....现在我该怎么办?
您需要一个DLL的导入库。您可以使用borland提供的隐式实用程序从DLL创建一个。将生成的.lib包含到项目中,链接器错误就会消失。如果它在运行时开始抱怨,请确保DLL与可执行文件位于相同的文件夹中。
Eelke是正确的,您需要导入libcurl库来正确解决这些错误。根据您到目前为止在上面的评论,我假设您已经完成了以下工作:
- 您已经在ide中设置了libcurl测试项目的基本布局。
- 添加了必要的include和lib目录,以便在构建时可以正确地定位libcurl。你已经正确地创建了libcurl。
使用工具链特定的
#pragma
指令。例如,在源文件的顶部添加:// eg. main.cpp #include <stdio.h> #include <curl/curl.h> #pragma comment(lib, "libcurl.lib") // ...
或
添加libcurl导入库到项目中。您可以右键单击项目名称->add node。在"添加到项目列表"窗口中,更改文件扩展名过滤器以查找.lib。默认情况下,它以 c++ source开头。找到libcurl。之前导入的Lib,然后单击打开。这将把导入库作为一个依赖项添加到项目中。
现在执行项目的重建(右键单击project->build node),它应该可以工作了。