在Windows XP上使用libcurl进行编译时出现问题

时间:2014-01-15 07:03:36

标签: c++ eclipse curl mingw libcurl

我从http://curl.haxx.se/gknw.net/7.34.0/dist-w32/curl-7.34.0-devel-mingw32.zip下载了libcurl curl-7.34.0-devel-mingw32.zip。

我使用Eclipse Kepler和MinGW作为工具链(GCC编译器)。我创建了html.cpp,然后测试了示例http://curl.haxx.se/libcurl/c/simple.html中的代码:

我收录了标题:

#include<iostream>
#include<curl/curl.h>
using namespace std;

有5个cURL功能。其中只有2个(curl_easy_initcurl_easy_setopt)被称为“未定义参考”。 编译器消息:

Info: Internal Builder is used for build
g++ -O3 -Wall -c -fmessage-length=0 -o html.o "..\\html.cpp" 
g++ -static-libgcc -static-libstdc++ -o HTML.exe html.o 
html.o:html.cpp:(.text.startup+0x12): undefined reference to `_imp__curl_easy_init'
html.o:html.cpp:(.text.startup+0x1e): undefined reference to `_imp__curl_easy_setopt'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: html.o: bad reloc         address 0x1e in section `.text.startup'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link     failed: Invalid operation
collect2.exe: error: ld returned 1 exit status

其他3个函数说没问题:

curl_easy_perform
curl_easy_strerror
curl_easy_cleanup

我尝试设置属性以告知MinGW链接器包含头文件和库文件。与上面相同的情况或编译器只是说找不到.a文件。将-lcurl-DCURL_STATICLIB添加到链接器的标志也是无用的。

我还尝试将libcurl的库(.a文件)和头文件(.h文件)复制到C:\ MinGW和C:\ gcc-4.8.1中的文件夹bin,include和lib。结果证明没有变化。

可悲的是,使用cURL的第一个挑战不是编码而是编译。我怎么解决这个问题? 谢谢你们!

0 个答案:

没有答案