我是c / c ++的新手....最近我正在尝试使用libCurl编译程序。但它向我展示了这些错误:
Error: Error: Unresolved external '_curl_easy_init' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_setopt' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_perform' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_cleanup' referenced from D:\BC5\BIN\HTTP-POST.OBJ
我在网上搜索了这些错误,并发现这是链接器错误。我发现了很多关于这个问题的教程。但我无法理解。
请注意,我有libcurl.dll和大量的头文件,我已经在D:\ BC5 \ INCLUDE中复制了头文件.... 现在该怎么办?
答案 0 :(得分:2)
您需要一个DLL的导入库。您可以使用borland提供的implib实用程序从DLL创建一个。在项目中包含生成的.lib,链接器错误应该消失。如果它在运行时开始抱怨,请确保DLL与可执行文件位于同一文件夹中。
答案 1 :(得分:0)
Eelke是正确的,您需要导入libcurl库以正确解决这些错误。根据您上面的评论,我将假设您已经完成以下操作:
您可以通过两种方式链接所需的库:
使用特定于工具链的#pragma
指令。例如,在源文件的一个顶部附近添加:
// eg. main.cpp
#include <stdio.h>
#include <curl/curl.h>
#pragma comment(lib, "libcurl.lib")
// ...
或强>
将libcurl导入库添加到项目中。您可以通过右键单击项目名称 - &gt; 添加节点来执行此操作。在“添加到项目列表”窗口中,更改文件扩展名筛选器以查找.lib。默认情况下,它以 C ++源开头。找到先前导入的libcurl.lib,然后单击“打开”。这会将导入库作为依赖项添加到项目中。
现在执行项目的重建(右键单击项目 - &gt; 构建节点),它应该可以正常工作。