我使用gcc和适当的选项创建了一个共享库libsslab_core.so.1.0.0。我很确定共享库是有效的,因为我已将它链接到另一个源代码(我使用编译器的-l选项明确地告诉编译器,gcc,库的位置)。
在测试库工作之后,我尝试将库集成到我的Linux机器中。我去了/etc/ld.so.conf.d/并添加了一个文件sslab.conf。在文件中我只输入了库的绝对路径/ opt / lib / sslab。接下来,我以root身份执行ldconfig来更新ldconfig的缓存文件。我通过输入ldconfig -p |来检查系统是否找到了新添加的库grep libsslab。我的Linux机器找到了库,所以我认为一切都已完成。
但是,当我尝试使用库编译源代码时,它会给我以下错误:
/usr/bin/ld: cannot find -lsslab_core
当我将库移动到/ usr / local / lib时,更新sslab.conf的内容,并以root身份执行ldconfig。我可以毫无问题地使用共享库。
您对我在Ubuntu 12.04上遇到的问题有任何想法吗?
为了您的信息,我参考TLDP中的文档来生成我自己的共享库。这是链接:http://www.tldp.org/HOWTO/Program-Library-HOWTO/