JAVA怎么查找错误,如何调试错误“符号查找错误:未定义符号”
我創建了一個app(api_tests),它使用鏈接到oracle occi庫(libocci.so.12.1)的庫(libstorage.so)并編譯它 . 當我運行這個應用程序時,我收到一個錯誤:
api_tests
api_tests: symbol lookup error: ./libstorage.so: undefined symbol: _ZN6oracle4occi11Environment17createEnvironmentENS1_4ModeEPvPFS3_S3_mEPFS3_S3_S3_mEPFvS3_S3_E
但是,此符號的庫存在于當前目錄中:
ls | grep libocci
libocci.so*
libocci.so.11.1*
libocci.so.12.1*
nm libocci.so.12.1 | grep _ZN6oracle4occi11Environment17createEnvironmentENS1_4ModeEPvPFS3_S3_mEPFS3_S3_S3_mEPFvS3_S3_E
0000000000097e70 T _ZN6oracle4occi11Environment17createEnvironmentENS1_4ModeEPvPFS3_S3_mEPFS3_S3_S3_mEPFvS3_S3_E
0000000000125014 r _ZN6oracle4occi11Environment17createEnvironmentENS1_4ModeEPvPFS3_S3_mEPFS3_S3_S3_mEPFvS3_S3_E$$LSDA
當前路徑添加到LD_LABRARY_PATH:
echo $LD_LIBRARY_PATH
./:/usr/vacpp/bin/../lib:/lib
我想知道我的庫有什么問題以及如何調試這個問題?
更新:看起來這個庫沒有鏈接(至少ldd沒有顯示這種依賴) . 我想這是makefile中的錯誤,它被編譯但在運行時失效 .
總結
以上是生活随笔為你收集整理的JAVA怎么查找错误,如何调试错误“符号查找错误:未定义符号”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 自动创建文件,php:自动创建多
- 下一篇: 如何不显示index.php,如何隐藏i