2017-05-30 64 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,查看了正確的共享對象?有可能找到不同的共享對象。

相關問題