如何在Ubuntu Linux上安装共享库?
我在Ubuntu 10.04上共享库时遇到问题。在过去几个月里,我已经把它过期了好几次,读了很多关于安装libs的文章,但我似乎没有抓住重点 从源代码目录开始,我运行以下命令:如何在Ubuntu Linux上安装共享库?,linux,ubuntu,installation,Linux,Ubuntu,Installation,我在Ubuntu 10.04上共享库时遇到问题。在过去几个月里,我已经把它过期了好几次,读了很多关于安装libs的文章,但我似乎没有抓住重点 从源代码目录开始,我运行以下命令: make 运行干净,没有任何错误 sudo make安装 似乎工作正常,以以下内容结束: cp foo.so.0.1/usr/local/lib/ rm-f/usr/local/lib/foo.so ln-s/usr/local/lib/foo.so.0.1/usr/local/lib/foo.so sudo ldcon
make
运行干净,没有任何错误
sudo make安装
似乎工作正常,以以下内容结束: cp foo.so.0.1/usr/local/lib/
rm-f/usr/local/lib/foo.so
ln-s/usr/local/lib/foo.so.0.1/usr/local/lib/foo.so
sudo ldconfig
运行时没有任何输出
不工作:
-lfoo
工作:
-L/usr/local/lib/foo.so
无论我尝试安装什么lib,问题都是一样的
我错过了什么?或者我可以做些什么来找到呢?在您的库搜索路径中是否有
/usr/local/lib/
?如果没有,则需要在Makefile中同时指定-lfoo
和/usr/local/lib/
,以便链接器知道在哪里查找
/usr/local/lib/
是否在您的库搜索路径中取决于您的发行版。请记住,库名称应以lib
开头,以结尾。因此
。可能您缺少启动的库
,尤其是Boost不使用automake或autoconf,因此没有运行这些命令的场景。。。你读过吗?通过使用apt-get
,或者使用普通的软件包管理器,可以很容易地在Ubuntu中添加boost。查找包libboost-dev
,或libboost-all-dev
。不需要手动安装它们,除非您有一个特定的版本,您必须链接到该版本,该版本与您的存储库提供的版本不同。我无法使用数据包管理器,因为以前安装的boost数据包管理器已损坏,我需要快速安装。是的,我阅读了《入门》,但这是很久以前的事了。boost应该是一个例子,安装的其他部分工作正常。@user918545:虽然GNU/Linux世界的其他部分倾向于使用automake/autoconf,但boost没有。所以Boost不仅仅是一个例子,因为它是由一个完整的构建系统构建的,因此遵循不同的构建过程。但我只混合了安装过程。效果保持不变。我不能在我的makefile中使用boost libnames。是的,(很遗憾)usr/local/lib/在搜索路径中。安装的其他LIB是因为问题首先发生在它们应该如何工作。