【发布时间】:2015-04-02 19:18:53
【问题描述】:
我有一个共享库 (Linux) 和一个链接到该库但没有找到符号的程序的问题 - 尽管它们在那里。这就是我所拥有的:
位于 /usr/lib 中的共享库“libetest.so”。当我做一个
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'
如前所示,符号就在那里!知道为什么会失败吗?
【问题讨论】:
标签: linux gcc linker shared-libraries