链接期间找不到符号

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

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