繁体   English   中英

如何在MinGW上使用带有libcc和gcc的应用程序

[英]How to compile an application using libcurl with gcc on mingw

我正在尝试编译包含以下代码的C文件:

#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>

int main()
{
    curl_global_init( CURL_GLOBAL_ALL );
    CURL * myHandle;
    CURLcode result; // We’ll store the result of CURL’s webpage retrieval, for simple error checking.
    myHandle = curl_easy_init ( ) ;
    // Notice the lack of major error checking, for brevity
    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;
    }

好吧,当我尝试编译时:

gcc url.c -lcurl

我收到以下错误:

F:\MinGW\home>gcc url.c -lcurl
C:\Users\Ehsan\AppData\Local\Temp\ccF7doFN.o:url.c:(.text+0x8e): undefined reference to `_imp__curl_global_init'
C:\Users\Ehsan\AppData\Local\Temp\ccF7doFN.o:url.c:(.text+0x95): undefined reference to `_imp__curl_easy_init'
C:\Users\Ehsan\AppData\Local\Temp\ccF7doFN.o:url.c:(.text+0xbf): undefined reference to `_imp__curl_easy_setopt'
C:\Users\Ehsan\AppData\Local\Temp\ccF7doFN.o:url.c:(.text+0xcd): undefined reference to `_imp__curl_easy_perform'
C:\Users\Ehsan\AppData\Local\Temp\ccF7doFN.o:url.c:(.text+0xdf): undefined reference to `_imp__curl_easy_cleanup'
collect2.exe: error: ld returned 1 exit status

我下载了此发行版,并将所有文件复制到bin,include和lib文件夹。

我想念什么?

更新资料


好吧,我使用-lcurldll解决了该问题。

在我的lib文件夹中,我同时拥有libcurl.alibcurldll.a

为什么与libcurl.a链接无法编译,但与libcurldll.a却可以正常工作?

您可以通过以下方式检查库名称:readelf -d [LIB_PATH]

那将解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM