首页 > 解决方案 > 安装在 /usr/local/lib 的 cURL 的未定义符号错误

问题描述

我正在尝试在运行 Raspbian 9.4 Stretch 的 Raspeberry Pi 上使用 libcurl。我按照说明通过运行 buildcong、configure 和 make 来安装库。该库安装在 /usr/local/lib 中。

该程序:

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

int main(){
   CURL *curl;
   curl_mime *form = NULL;

   curl_global_init(CURL_GLOBAL_ALL);
   curl = curl_easy_init();

   if(curl) 
      form = curl_mime_init(curl);
}

它编译为: g++ test.cpp -o test -I/usr/local/lib/curl-master/include -L/usr/local/lib/curl-master/lib/.libs -l:libcurl.so

错误是在运行时: symbol lookup error: ./test: undefined symbol: curl_mime_init

将结尾替换为-lcurl返回相同的错误。

标签: curlgcclinkerlibcurl

解决方案


curl_mime_init()是在 libcurl 7.56.0 中引入的。您很可能链接到较旧的 libcurl 版本。


推荐阅读