C、 未链接

C、 未链接,c,curl,gcc,linker,C,Curl,Gcc,Linker,我有一个1文件C程序,如下所示,它试图进行一个简单的CURL调用。还有一个简化的Make文件 看起来我的curl/curl.h没有被链接进来,导致对*curl的所有引用都是错误的 我用自制软件安装Curl。 是否需要指定链接器的确切位置 代码 卷曲检查是否已安装 name@name-MacBook Pro c%curl-版本curl 7.64.1 x86_64-apple-darwin19.0 libcurl/7.64.1安全传输 LibreSSL/2.8.3 zlib/1.2.11 nghtt

我有一个1文件C程序,如下所示,它试图进行一个简单的CURL调用。还有一个简化的Make文件

看起来我的curl/curl.h没有被链接进来,导致对*curl的所有引用都是错误的

我用自制软件安装Curl。 是否需要指定链接器的确切位置

代码

卷曲检查是否已安装

name@name-MacBook Pro c%curl-版本curl 7.64.1 x86_64-apple-darwin19.0 libcurl/7.64.1安全传输 LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2发布日期:2019-03-27 协议:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smb smtp smtps telnet tftp功能:异步HDN GSS-API HTTP2 HTTPS代理IPv6 Kerberos大文件libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets


你应该使用CURL,而不是CURL


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

int main(void) {
    CURL *curl = curl_easy_init();

    if(!curl) {
        printf("curl init failed");
        return 1;
    }

    curl_easy_setopt(curl, CURLOPT_URL, "https://api.coinbase.com/v2/prices/BTC-USD/buy");

    CURLcode result = curl_easy_perform(curl);

    if(result != CURLE_OK) {
        printf("curl peform fail");
    }

    curl_easy_cleanup(curl); 

    return 0;
}


首先,Curl->Curl解决了这个问题,哇。谢谢
gcc -o main main.c -lcurl 

main.c:10:5: error: use of undeclared identifier 'Curl'

Curl *curl = curl_easy_init();
^ main.c:10:11: error: use of undeclared identifier 'curl'

Curl *curl = curl_easy_init();
      ^ main.c:12:9: error: use of undeclared identifier 'curl'

if(!curl) {
    ^ main.c:17:22: error: use of undeclared identifier 'curl'

curl_easy_setopt(curl, CURLOPT_URL, "https://api.coinbase.com/v2/prices/BTC-USD/buy");
                 ^ main.c:19:41: error: use of undeclared identifier 'curl'

CURLcode result = curl_easy_perform(curl);
                                    ^ main.c:25:23: error: use of undeclared identifier 'curl'

curl_easy_cleanup(curl); 
                  ^ 6 errors generated. make: *** [all] Error 1

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

int main(void) {
    CURL *curl = curl_easy_init();

    if(!curl) {
        printf("curl init failed");
        return 1;
    }

    curl_easy_setopt(curl, CURLOPT_URL, "https://api.coinbase.com/v2/prices/BTC-USD/buy");

    CURLcode result = curl_easy_perform(curl);

    if(result != CURLE_OK) {
        printf("curl peform fail");
    }

    curl_easy_cleanup(curl); 

    return 0;
}