即使nm报告符号存在,运行时符号查找错误

时间:2017-05-30 22:49:48

标签: c++ undefined linker-errors nm

我按照以下方式构建我的程序:

g++ -std=c++11 myprog.cpp -o myprog -lqpid-proton-cpp

然后我运行./myprog并收到此错误:

symbol lookup error: ./myprog: undefined symbol: _ZN6proton10event_loop6injectESt8functionIFvvEE

然而,nm报告该符号存在于库中。 。

nm -D /usr/lib/libqpid-proton-cpp.so | grep _ZN6proton10event_loop6injectESt8functionIFvvEE

。 。 。产率:

000000000002f460 T _ZN6proton10event_loop6injectESt8functionIFvvEE

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

您是否验证过,例如,使用ldd myprog,您查看了正确的共享对象?有可能找到不同的共享对象。