链接期间未找到符号

时间:2015-04-02 19:18:54

标签: linux gcc linker shared-libraries

我遇到了一个共享库(Linux)和一个链接到这个库但没有找到符号的程序的问题 - 尽管它们在那里。这就是我所拥有的:

共享库" libetest.so"位于/ usr / lib中。当我做的时候

 readelf -Ws /usr/lib/libetest.so.0

它给出了(除了其他一些)这个输出:

54: 000052c0   905 FUNC    LOCAL  DEFAULT   11 ETEST_open_connection

现在我有一个使用ETEST_open_connection()的应用程序。当我用

构建它时
gcc lib_test.cpp -DENV_LINUX -letest

它因链接器错误而失败

lib_test.cpp:(.text+0x32): undefined reference to `ETEST_open_connection'

如前所示符号就在那里!知道为什么会失败吗?

1 个答案:

答案 0 :(得分:0)

请尝试:

gcc -DENV_LINUX -letest lib_test.cpp

这应该是正确的参数顺序。