链接期间找不到符号
Symbols not found during linking
我有一个共享库 (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'
如前所示符号是有的!知道为什么会失败吗?
请尝试:
gcc -DENV_LINUX -letest lib_test.cpp
这应该是正确的参数顺序。
我有一个共享库 (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'
如前所示符号是有的!知道为什么会失败吗?
请尝试:
gcc -DENV_LINUX -letest lib_test.cpp
这应该是正确的参数顺序。