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怎么查找错误,如何调试错误“符号查找错误:未定义符号”相关推荐
- 笔记-- vs2008 ,右键转到定义,弹出“未定义符号”
具体情况为:新建一个项目,将原来某工程的.cpp和.h文件拷贝过来,还有一个工程,都加入该项目:编译,通过:但右键转到定义,弹出"未定义符号".与这一现象同时出现的,是类视图里并没 ...
- (OS X) OpenCV架构x86_64的未定义符号:错误(OpenCV Undefined symbols for architecture x86_64: error)...
原地址: http://www.it1352.com/474798.html 错误提示如下: Undefined symbols for architecture x86_64:"cv::_ ...
- 符号未定义Java_Java ODBC数据源(未定义符号:SQLAllocEnv)
我有以下Java代码.该代码的目的是建立与远程MySQL数据库ProductionDb(在我的/etc/odbc.ini文件中定义的数据源)的连接. import java.sql.*; import ...
- VS2005右键点击转到定义后出现“未定义符号”的提示及其解决
1.有可能是VA未安装正确,但是我遇到的情况是我的VA安装正确的. 2.我的解决办法:删掉工程的.ncb文件后重新编译即可:以前也遇到过断点打不上去的事情,也是删掉.ncb后重新编译就可以了. 附带一 ...
- 编译的时候所使用的动态库中出现错误:未定义的引用
1.使用makefile编译的时候,出现错误如下: 如上图所示,是在动态库libicdbapi.so中出现了未定义错误,既然是未定义错误,说明sqlprct.....sqlnult这5个符号是外部符号 ...
- Matlab:解决错误:未定义的函数或变量
Matlab:解决错误:未定义的函数或变量 验证函数或变量名称的拼写 验证输入是否符合函数语法 确保函数名称与文件名匹配 确保安装了必要的工具箱并且版本正确 验证用于访问函数工具箱的路径 确认许可证有 ...
- 疑难杂症篇(十三)--Java中出现“找不到符号“的错误解决方案
问题描述:编写了一个Java程序,编译过程中出现"找不到符号"的错误,如下图所示: 解决方案 a.所编写的java程序如下图: b.解决方案如下图: c.成功编译,问题解决. Ja ...
- android gdb 远程调试工具,gdb输入/输出错误远程调试到Android
我试图调试一个调用本地代码来执行一些GL渲染的android应用程序.本机代码是我试图移植的现有代码(并且我不太清楚).我已经有了正确编译,链接和正确安装的代码,并且我有一些原生函数调用了从我的Jav ...
- android 获取堆栈地址,关于java native interface:如何捕获SIGSEGV(分段错误)并在Android下的JNI下获取堆栈跟踪?...
我正在将一个项目转移到新的Android本机开发工具包(即JNI)中,我想捕获sigsegv,如果它发生(也可能是sigill.sigabrt.sigfpe),以便呈现一个很好的崩溃报告对话框,而不是 ...
最新文章
- MySQL自学笔记2--select的5个子句
- 【转】每天一个linux命令(44):top命令
- linux 配置 clang++ SDL 开发环境 (新手向)
- HTML5的Video标签的属性,方法和事件汇总
- python中timedelta_Python – 使用时间戳,timedelta的日期和时间比较
- 如何在MVCsheet表单页面的后台取到页面自定义字段的值?
- 绑定事件的几个方法总结
- YOLOv3目标检测有了TensorFlow实现,可用自己的数据来训练
- 遥感导论网课_甘肃农业大学2019年地理信息科学专业专升本招生 专业课考试大纲...
- 《视觉SLAM十四讲》课后习题—ch7(更新中……)
- 《数据挖掘导论》实验课——实验七、数据挖掘之K-means聚类算法
- file is not a zip file_如何使用JavaScript解压压缩后的zip文件
- 安装SQL server需要重启计算机,解决安装sql server 需要重启问题
- AD将原理图转换成彩色或者黑白PDF
- vs2015下,使用人脸检测算法对FDDB数据集进行测评
- 【Winform】关于Application.DoEvents()的理解
- 字体图标浅析——什么是字体图标?如何生成?怎么使用?
- 微信语音麦克风静音_微信中打电话静音是我被静音还是对方被静音,具体这个静音是什么意思...
- 第一回 网管是个苦差事
- Linux发行版本及其区别