首页 > 解决方案 > 使用 curl 为 ARM 交叉编译 C++

问题描述

我有一个简短的 C++ 程序来下载带有 curl 的文件。我可以编译它:

gcc main.cpp -L/usr/include/x86_64-linux-gnu/curl -lcurl

但是当我尝试使用以下命令为我的 arm 开发板编译时:

arm-linux-gnueabihf-gcc main.cpp -I/usr/include/x86_64-linux-gnu -L/usr/include/x86_64-linux-gnu/curl -lcurl

我收到一个错误,找不到 lcurl。

有人可以告诉我如何以正确的方式编译我的程序或如何在我的 Linux-Ubuntu-Machine 上安装 curl for arm

#include <curl/curl.h>

size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) {
    size_t written = fwrite(ptr, size, nmemb, stream);
    return written;
    }

int main()
{
    CURL *curl;
    FILE *fp;
    CURLcode res;
    char *url = "...url...";
    char outfilename[FILENAME_MAX] = "/home/test.txt";
    curl = curl_easy_init();
    if (curl)
    {
        fp = fopen(outfilename,"wb");
        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
        res = curl_easy_perform(curl);
        // always cleanup
        curl_easy_cleanup(curl);
        fclose(fp);
     }
     return( 0 );
}

标签: c++ubuntucurlarmlibcurl

解决方案


推荐阅读