【问题标题】:How to link *.so file in AIX with GCC compiler如何在 AIX 中使用 GCC 编译器链接 *.so 文件
【发布时间】:2016-12-26 14:54:02
【问题描述】:

我试图在 AIX 机器上使用 GCC 编译器编译 C 代码时链接 *.so 文件,但无法这样做。使用传统的-L-l 选项,分别用于路径和.so 库名称,给出“找不到错误”,设置LD_LIBRARY_PATH 也没有帮助。我了解 AIX 中的链接选项不同。但我无法理解正确的选项。

你能用例子回答我的问题吗?

【问题讨论】:

    标签: c gcc linker aix


    【解决方案1】:

    使用选项-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
    

    【讨论】:

    • 我使用了这个选项,但得到“不是 coff 文件”错误。假设我在路径“/var/tmp/lib”中有一个库文件“librequired.so”和一个带有“example.h”头文件的 C 文件“example.c”。现在你能告诉我什么是完整的 gcc 命令。谢谢
    • @Sandeep 那么它可能不是一个 coff 文件。 file /var/tmp/lib/librequired.so 说什么?
    猜你喜欢
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2012-04-05
    相关资源
    最近更新 更多