免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8507 | 回复: 6

折腾了2天,都无法在QT Creator中引用libcurl库,求助! [复制链接]

论坛徽章:
0
发表于 2012-12-05 15:34 |显示全部楼层
本帖最后由 冷寒生 于 2012-12-05 15:35 编辑

1. 已经在MinGW下编译libcurl出了libcurl.a

参考文章:http://timothyqiu.com/archives/build-libcurl-with-mingw/

2. 在MinGW下测试libcurl

// simple.c
#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com");

    /* Perform the request, res will get the return code */
    res = curl_easy_perform(curl);
    /* Check for errors */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}

gcc -L F:/Source/curl-7.28.0/lib simple.c -DCURL_STATICLIB -lcurl -lws2_32 -lwldap32

#编译成功!!!

3. 在Qt Creator中编写测试程序

// main.cpp
#include <QtCore/QCoreApplication>
#include <curl/curl.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    CURL *curl;
    curl = curl_easy_init();
    return a.exec();
}

///////////////////////////////////////

.pro文件

#-------------------------------------------------
#
# Project created by QtCreator 2012-12-05T15:05:51
#
#-------------------------------------------------

QT       += core

QT       -= gui

TARGET = test
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

LIBS += -L F:/Source/curl-7.28.0/lib -DCURL_STATICLIB -lcurl -lws2_32 -lwldap32
SOURCES += main.cpp


4. 编译


为项目test执行构建步骤 ...
正在启动 "D:\Qt\qtcreator-2.2.1\mingw\bin\mingw32-make.exe"
D:/Qt/qtcreator-2.2.1/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `D:/Qt/qtcreator-2.2.1/未命名-build-desktop'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\4.7.3\include\QtCore" -I"..\..\4.7.3\include" -I"..\..\4.7.3\include\ActiveQt" -I"debug" -I"..\test" -I"." -I"..\..\4.7.3\mkspecs\win32-g++" -o debug\main.o ..\test\main.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl -o debug\test.exe debug/main.o  -L"d:\Qt\4.7.3\lib" -L F:/Source/curl-7.28.0/lib -DCURL_STATICLIB -lcurl -lws2_32 -lwldap32 -lQtCored4
mingw32-make[1]: Leaving directory `D:/Qt/qtcreator-2.2.1/未命名-build-desktop'
debug/main.o: In function `main':
D:\Qt\qtcreator-2.2.1\未命名-build-desktop/../test/main.cpp:9: undefined reference to `_imp__curl_easy_init'

collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\test.exe] Error 1
mingw32-make: *** [debug] Error 2
进程"D:\Qt\qtcreator-2.2.1\mingw\bin\mingw32-make.exe"退出,退出代码 2 。
构建项目test 时发生错误 (目标: 桌面)
当执行构建步骤 'Make'时

论坛徽章:
0
发表于 2012-12-07 18:10 |显示全部楼层
回复 1# 冷寒生


    不如直接用Qt自己的url class。

论坛徽章:
0
发表于 2012-12-17 20:20 |显示全部楼层
路径中不能带中文。。。试着去掉看看。。

论坛徽章:
137
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5719周年集字徽章-庆
日期:2019-08-27 13:28:5615-16赛季CBA联赛之福建
日期:2019-09-10 11:43:2519周年集字徽章-周
日期:2019-12-12 10:54:07
发表于 2012-12-21 13:05 |显示全部楼层
为了保持最大的兼容,文件名禁止使用中文和空格



这条也可以写到项目管理的军规中去

论坛徽章:
0
发表于 2013-04-09 20:49 |显示全部楼层
悲剧,这个问题几个月了都没解决
现在已经换回VC了

不过QT确实挺好用的,就是有2个问题,一是资料太少;二是发行包太大

论坛徽章:
0
发表于 2013-07-09 15:30 |显示全部楼层
这个还是你的libcur库没有链接成功

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:53:17
发表于 2013-07-10 09:20 |显示全部楼层

LIBS += -L F:/Source/curl-7.28.0/lib -DCURL_STATICLIB -lcurl -lws2_32 -lwldap32
SOURCES += main.cpp

工程文件这一句有问题。gcc的-L指定库目录后面的F:/... 之间不能空格。另外一般不在libs加宏定义。

试着这样写:
DEFINES += CURL_STATICLIB
LIBS += -L"F:/Source/curl-7.28.0/lib" -lcurl -lws2_32 -lwldap32
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP