所以之后我跑的libtool,并得到了来自我的库源libfoo.lofoo.o文件,我怎么了libfoo.lo文件转换成普通的Linux共享库,就像libfoo.so.1.0.0这样我就可以安装并链接到它我的目标系统上?

有帮助吗?

解决方案

从问题中提及的输出,它看起来像您运行的libtool与--mode =编译模式。您将需要与--mode =链接到生产.A和.so库libtool的再次运行。

libtool的仅仅是GCC,LN Ar和ranlib的,其需要产生文库的简单的包装。它所做的就是运行gcc添加必要的选项,以确保您的静态和共享库正确创建。

当编译的libtool插入-fPIC标签,以确保必要的代所需的共享库位置无关的代码。 .o文件是可以被归档到一个静态的某文件正常的目标文件。的.LO文件与现在可以被连接成一个.so文件位置无关代码的目标文件。

当链接的libtool将运行AR创建静态库或LN将对象文件链接成一个.so共享库中。

libtool使用--mode =安装在需要时也可以安装该库。

请参阅 http://www.gnu.org/software/libtool/manual /libtool.html 获得更多的信息。

请记住,当建立一个可执行总有两个阶段,编译和链接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top