【发布时间】:2016-12-26 14:54:02
【问题描述】:
我试图在 AIX 机器上使用 GCC 编译器编译 C 代码时链接 *.so 文件,但无法这样做。使用传统的-L 和-l 选项,分别用于路径和.so 库名称,给出“找不到错误”,设置LD_LIBRARY_PATH 也没有帮助。我了解 AIX 中的链接选项不同。但我无法理解正确的选项。
你能用例子回答我的问题吗?
【问题讨论】:
我试图在 AIX 机器上使用 GCC 编译器编译 C 代码时链接 *.so 文件,但无法这样做。使用传统的-L 和-l 选项,分别用于路径和.so 库名称,给出“找不到错误”,设置LD_LIBRARY_PATH 也没有帮助。我了解 AIX 中的链接选项不同。但我无法理解正确的选项。
你能用例子回答我的问题吗?
【问题讨论】:
使用选项-Wl,-brtl 可以使用*so* 共享对象。
编辑(第一个选项是-maix32 或-maix64,具体取决于上下文):
gcc -maix32 -o example -Wl,-brtl example.c /var/tmp/lib/librequired.so
或
gcc -maix32 -o example -Wl,-brtl example.c -L/var/tmp/lib -lrequired
【讨论】:
file /var/tmp/lib/librequired.so 说什么?