2017-05-30 118 views
-2

我建立我的计划是这样的:在运行时符号查找错误,即使纳米报告当前符号

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

然后我跑./myprog和得到这个错误:

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

然而,纳米报告符号出现在图书馆里。 。 。

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

。 。 。产量:

000000000002f460 T _ZN6proton10event_loop6injectESt8functionIFvvEE 

我在这里错过了什么?

+3

您是否使用'ldd myprog'验证了您是否查看了正确的共享对象? –

+0

@Dietmar,不,我没有。我不知道ldd。运行'ldd myprog'向我透露了不同的副本。我删除了它,现在我的程序运行。非常感谢你。也许发布这个答案。 –

回答

1

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

相关问题