问题似乎很简单。我尝试了很多东西只是为了在我的C项目中使用代码:: blocks ide包含curl但是无济于事。
我想将cURL的库用于需要http功能的控制台应用程序项目。 如果有人成功地这样做了,那么非常感谢你的帮助。 :)
之前发生的事情:
-I将所有cURL文件复制到我的项目并链接库(带.a或.lib ext的文件)
- 然后我建立项目。很多未定义的引用出现了。
这是我正在测试的代码:
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
int main()
{
curl_global_init( CURL_GLOBAL_ALL );
CURL * myHandle;
CURLcode result;
myHandle = curl_easy_init ( ) ;
curl_easy_setopt(myHandle, CURLOPT_URL, "http://www.example.com");
result = curl_easy_perform( myHandle );
curl_easy_cleanup( myHandle );
printf("LibCurl rules!\n");
return 0;
}
以下是错误:
||=== Fa, Release ===|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_global_init'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_init'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_setopt'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_perform'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_cleanup'|
||=== Build finished: 5 errors, 0 warnings ===|
答案 0 :(得分:3)
转到您的项目“构建选项” - &gt; “链接器”选项卡,因此您有两个选择:
如果您的库(正确)安装在系统范围内,请在libs的“其他链接器选项”中写入,就像您直接使用编译器一样。
对于GCC,你要写-lcurl
。您也可以将此与Wl,-rpath,/path/to/your/library -lMyLib
之类的路径指令一起使用。显然这取决于编译器和系统设置。
在左侧的“链接库”中添加库。单击“添加”按钮并浏览到您的库文件。
请查看此A.3 — Using libraries with Code::Blocks以获取一些照片。 谷歌搜索会告诉你更多。
答案 1 :(得分:1)
以下步骤适用于Windows 32用户。几个小时后,以下步骤对我有用。这可能对您有用,也可能不对您有用,因为我在经过多次试验和错误后得到了它。这就是为什么我以精心设计的方式编写步骤。
第1步:启动代码块 创建一个名为proj_curl
的空项目第2步:在此网址上打开www.paehl.com/open_source/?CURL_7.50.0
a)单击“不使用ssl下载
”b)单击“仅下载libcurl.dll(所有版本)”
c)单击仅下载Libray(所有版本)
第3步:在此网址curl.haxx.se/download/curl-7.50.1.zip上打开 - 将自动下载zip文件。 (对不起,这个网站不允许我插入2个以上的链接,请耐心等待。)
注意:现在完全可以下载4个zip文件
step4:在c盘中创建一个文件夹(c:\ libs \ curl) 将4个zip文件的所有文件夹文件解压缩到c中的curl文件夹中。 确保为每个zip文件创建每个子目录。
第五步:(非常重要)
在C盘的curl文件夹中, - 单击curl.exe(命令提示符只显示几毫秒。) - 转到代码块 - &gt;设置 - &gt;编译器...... - &gt;链接器设置选项卡 - &gt;添加
&#34; C:\库\卷曲\ lib中\ nossl \ libcurl.a&#34;
&#34; C:\库\卷曲\ lib中\ nossl \ libcurldll.a&#34;
然后 - &gt;搜索目录标签 - &gt;编译器
然后 - &gt;搜索目录标签 - &gt;链接
点击确定
步骤6: - 打开文件夹&#34; nossl&#34;它来自curl_DLL_ONLY.7z文件。
Step7:现在用c程序测试curl库的工作情况。
注意:如果遇到错误&#34;程序无法启动,因为您的计算机缺少zlib1.dll。尝试重新安装程序以解决此问题。&#34;
解决方案: - 复制并粘贴网址sourceforge.net/projects/mingw/files/latest/download
通过标记所有库来安装mingw-get-setup.exe。(大约需要10分钟安装)
安装后,打开C:\ MinGW \ bin,将zlib1.dll复制到与stepcurl.dll步骤6中相同的目录。
多数民众赞成......