g++;:restbed错误:ld在ubuntu中返回了1个退出状态,只有-L选项解决了它 我的问题 我想在我的C++项目上使用,我按照指令在我的Ubuntu机器上安装它。我将include文件安装到/usr/local/include,将库文件安装到/usr/local/library

g++;:restbed错误:ld在ubuntu中返回了1个退出状态,只有-L选项解决了它 我的问题 我想在我的C++项目上使用,我按照指令在我的Ubuntu机器上安装它。我将include文件安装到/usr/local/include,将库文件安装到/usr/local/library,c++,ubuntu,linker,restbed,C++,Ubuntu,Linker,Restbed,问题是: @ubuntu:~/test$ g++ test.cpp -o test -lrestbed -std=c++11 /usr/bin/ld: cannot find -lrestbed collect2: error: ld returned 1 exit status 这意味着ubuntu知道我的include文件在哪里,但不知道链接文件在哪里或链接文件被损坏。事情变得越来越奇怪,见最后一节 我所做的 我已经找到了很多解决这个问题的方法,包括。我跟随公会,将/usr/local/l

问题是:

@ubuntu:~/test$ g++ test.cpp -o test -lrestbed -std=c++11
/usr/bin/ld: cannot find -lrestbed
collect2: error: ld returned 1 exit status
这意味着ubuntu知道我的include文件在哪里,但不知道链接文件在哪里或链接文件被损坏。事情变得越来越奇怪,见最后一节

我所做的 我已经找到了很多解决这个问题的方法,包括。我跟随公会,将
/usr/local/lib
/usr/local/library
添加到
/etc/ld.so.conf
,这样我的链接器基本上知道在哪里可以找到链接文件

@ubuntu:~/test$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/loacl/lib
/usr/local/library
当我再次尝试g++时,我失败了,同样的错误消息。我甚至尝试了导出LD\u LIBRARY\u PATH=“/usr/local/LIBRARY”,也运行了
sudo ldconfig
,但仍然没有成功

奇怪的解决方案 所以我发现我可以用这个命令编译它:

g++ -L /usr/local/library test.cpp -o test -lrestbed -std=c++11
一切都很有魅力。所以我的链接文件很好,我很困惑。。。为什么系统路径不工作?我该如何解决这个问题?(我不想每次都键入长路径,当我使用更多的第三方库时,它会变得冗长)

我的系统:

运行在并行桌面上的ubuntu 16.04 LTS


g++
(Ubuntu 5.4.0-6ubuntu1~16.04.4)5.4.0 20160609

LD_LIBRARY_PATH
用于运行时<链接时的代码>库路径。考虑使用Mag文件,尽管您指定了<代码> -L>代码>选项。然后只键入
make
@DanielJour非常感谢,你的回答提醒我搜索关键词是错误的。当我键入
LD\u LIBRARY\u PATH vs LIBRARY\u PATH
时,问题已解决。