安装在/usr/local/lib的cURL的未定义符号错误

安装在/usr/local/lib的cURL的未定义符号错误,curl,gcc,linker,libcurl,Curl,Gcc,Linker,Libcurl,我正在尝试在Raspeberry Pi跑步Raspbian 9.4伸展运动中使用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_glo

我正在尝试在Raspeberry Pi跑步Raspbian 9.4伸展运动中使用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);
}
#包括
#包括
使用名称空间std;
int main(){
卷曲*卷曲;
curl_mime*form=NULL;
curl\u global\u init(curl\u global\u ALL);
curl=curl_easy_init();
if(curl)
form=curl\u mime\u 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

错误发生在运行时:
符号查找错误:./test:未定义符号:curl\u mime\u init


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

是在libcurl 7.56.0中引入的。您很可能正在链接旧版本的libcurl。

是在libcurl 7.56.0中引入的。您很可能正在链接旧版本的libcurl。

看起来像是路径问题。您确定
curl master
组件吗?将
-Wl,-R,/usr/local/lib-Wl,--enable新的dtags
添加到您的
LDFLAGS
。如果要使用
.libs
目录就地运行,则可以使用
LD\u LIBRARY\u PATH
进行覆盖。我对生成文件没有太多经验。你说这些是什么意思?我需要将它们添加到makefile吗?运行
配置
?我如何用
LD_LIBRARY_PATH
覆盖?我将文件夹名称更改为curl_master,通常您不更改
--前缀
;默认值为
/usr/local
。但是,您仍然需要将
-Wl,-R、/usr/local/lib-Wl、-enable新dtags
添加到
LDFLAGS
。或者,您也可以使用像
LD\u LIBRARY\u path
这样的band aides解决过去20年左右存在的Linux路径问题。看起来像是路径问题。您确定
curl master
组件吗?将
-Wl,-R,/usr/local/lib-Wl,--enable新的dtags
添加到您的
LDFLAGS
。如果要使用
.libs
目录就地运行,则可以使用
LD\u LIBRARY\u PATH
进行覆盖。我对生成文件没有太多经验。你说这些是什么意思?我需要将它们添加到makefile吗?运行
配置
?我如何用
LD_LIBRARY_PATH
覆盖?我将文件夹名称更改为curl_master,通常您不更改
--前缀
;默认值为
/usr/local
。但是,您仍然需要将
-Wl,-R、/usr/local/lib-Wl、-enable新dtags
添加到
LDFLAGS
。或者,你也可以使用像
LD_LIBRARY\u path
这样的band aides解决过去20年左右存在的Linux路径问题;我确信我以前没有安装。/usr/bin中有一个curl可执行文件
g++test2.cpp-o test-I/usr/local/lib/curl\u master/include-L/usr/local/lib/curl\u master/lib/.libs-L:libcurl。如果未包含对
curl\u mime\u init()
的调用,则使用该build命令的程序将生成并运行……这将进一步表明您的libcurl早于7.56.0!是的,没错。curl默认安装在新系统上;我确信我以前没有安装。/usr/bin中有一个curl可执行文件
g++test2.cpp-o test-I/usr/local/lib/curl\u master/include-L/usr/local/lib/curl\u master/lib/.libs-L:libcurl。如果未包含对
curl\u mime\u init()
的调用,则使用该build命令的程序将生成并运行……这将进一步表明您的libcurl早于7.56.0!是的,没错。curl默认安装在新系统上。