我遇到了一个共享库(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'
如前所示符号就在那里!知道为什么会失败吗?
答案 0 :(得分:0)
请尝试:
gcc -DENV_LINUX -letest lib_test.cpp
这应该是正确的参数顺序。