oracle 编译中一个关于clntsh 库的一个 帖子 ,收藏!
oracle 编译中一个关于clntsh 库的一个 帖子 ,收藏!
-----------------------------------------------------------------------------------------------------------------------------------
(求助)proc 和gcc 编译问题 关于clntsh库 [问题点数:40分,结帖人tongzhipeng5699]
|
我的环境是虚拟机+UBUNTU11.10+ORACLE10G
按照网上的方法总算装好了,但是发现编译时会出问题 我的oracle10g是建了一个oracle用户然后在oracle用户下安装的。 在oracle用户下: proc first.pc 生成first.c gcc first.c -lclntsh的时候会报如下错误: /usr/bin/ld: cannot find -lclntsh collect2: ld 返回 1 但是我使用 sudo gcc first.c -lclntsh 却能编译成功,并且运行正常。 不用sudo的话也可以 但是要写成 gcc first.c -L $ORACLE_HOME/lib -lclntsh才行 环境变量我在.bashrc和/etc/profile都配置并source过了,应该不是环境变量的问题,我这里还是贴出来吧 export ORACLE_HOME=/opt/ora10g export ORACLE_OWNER=oracle export ORACLE_SID=ora1 export ORACLE_TERM=xterm export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:.:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:. export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' 代码更不可能有问题了,不过我也还贴出来吧,求帮忙 int main () { |
|
#1 得分:0回复于: 2012-09-16 15:53:17
我今天在ubuntu 12.04 64bit上安装oracle 11gR2时也出现了类似这种情况,在编译日志文件/opt/oracle/ora11g/install/make.log 中我发现有很多/usr/bin/ld: cannot find -lclntsh 这种错误,在这一句后面是说找不到 /usr/lib64/libpthread_noshared.a ,ubuntu12.04下是没有/usr/lib64这个文件夹的,所以我mkdir /usr/lib64,然后 ln -s /usr/lib/x86_64-linux/gnu/libpthread_noshared.a /usr/lib64/,百度了好久,说libc_noshared.a也要做这样一个软链接,然后我的问题就解决了。
补充一句:我没有设置这个export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:. |
|
#2 得分:0回复于: 2014-11-19 20:28:53
这个问题是gcc在/usr/lib 或是 /usr/local 下找不到libclntsh.so这个动态库造成的。解决办法:找到oracle 的安装路径 cd $ORACLE_HOME/lib 找到 libclntsh.so动态库文件的路径 执行sudo ln-sv /opt/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so /usr/lib/libclntsh.so "/opt/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so "是我机器的安装目录具体以实际情况为准。
|
oracle 编译中一个关于clntsh 库的一个 帖子 ,收藏!的更多相关文章
- 关于plsqldev无法正常加载oracle instantclient中的oci.dll的其中一个原因
事情的经过是这样的: 1. 新安装了windows10 系统,装了plsqldev 和 oracle instantclient,以及 instantclient sqlplus. 2.设置好了ORA ...
- linux 怎么使用一个c/c++库
linux 怎么使用一个c/c++库 使用一个库,库有动态和静态之分. 静态库只要能够编译通过,运行时就没有提示缺少这个库可能,因为把这个库就是这个使用者的一部分了.动态库.两部分.1 库信息的注册 ...
- Ubuntu中安装编译并测试HTK语音识别库
1.在网上看到首先必须确保电脑上安装了g++和libx11 g++ --version //检测g++版本 sudo apt-get install libx11-dev:i386 2.然后可从HTK ...
- linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- vs2008中xlslib与libxls库的编译及使用
C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...
- QT 编译遇到重定义;不同的基类型&在QT中使用C++ lib库
最近在使用osg和qt开发,在集成osg时候因为我使用的qt版本为非opengl的版本,导致qt自己封了一遍opengl的一些基类变量如double 这时候就会跟osg中声明的opengl的类型冲突, ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- 第一个lucene程序,把一个信息写入到索引库中、根据关键词把对象从索引库中提取出来、lucene读写过程分析
新建一个Java Project :LuceneTest 准备lucene的jar包,要加入的jar包至少有: 1)lucene-core-3.1.0.jar (核心包) 2) lucene- ...
- 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据
有一个需求是这样的,我们需要更新数据库中的数据,数据时这样的 1.大约50万以上 2. 数据中有较多的重复数据 3. 需要将表中最近的代理商的名称赋值给行中的服务商名称 4. 代理商的名称可能有多个, ...
随机推荐
- [Android] 【视频】黑马安卓62、66期等教程+源码
下载地址:http://fu83.cn/thread-58-1-1.html
- [CareerCup] 4.4 Create List at Each Depth of Binary Tree 二叉树的各层创建链表
4.4 Given a binary tree, design an algorithm which creates a linked list of all the nodes at each de ...
- Google Map API key 获取方法
要想使用google map api 必须从google网站上获取key之后才有权限使用,但是要想申请key必须要有证明书,也就是所谓的MD5.下面一步一步来说明: 步骤1: 如果你使用的是eclip ...
- 用SugarORM快速开发需要同步和保存大量数据的Android互联网客户端
最近开发的一个项目主要有两个特点,这两点也是在项目开发前需要着重去规划解决方案的: 需要和Rest服务端请求大量的数据 同时这些数据本地也要保存到sqlite数据库 对于第一点,目前的Volley.G ...
- Windows下apache php wordpress配置
2. Use notepad to open httpd.conf config file. Make use the line "LoadModule rewrite_module mod ...
- bluebird
nodejs-使用request和bluebird编写的http请求模块 http://blog.csdn.net/o6875461/article/details/44594545
- 项目笔记---Windows Service调用Windows API问题
概要 此文来自于最近一个“诡异”的Windows API调用发现Windows Service在调用某些Windows API的过程中失效,在经过漫长的Baidu,之后终于在StackOverFlow ...
- 最新 Sublime Text3 激活码 (Build 3114 有效)
今天打开Sublime Text 3 有更新,更新了一下然后之前的激活就失效了.无奈只好重新搜索可用的激活码.不过幸运的是我搜索到了很多可用的激活码,不敢独专. // Sublime Text 3 L ...
- 图片百分百问题 z-index问题
遇到的问题: 1.图片设置宽高都为100%,为什么高度没有100%呢? 我日了狗了! 答:因为图片默认高度大于包含框, 此时元素的高度100%将不会参照父元素? 继承出现了问 ...
- javascript键盘输入控制
获取键盘控制事件 document.onkeydown = keyDown 当浏览器读到这个语句时,无论按下键盘上的哪个键,都将呼叫KeyDown()函数. 不同浏览器的实现: Netscape Ne ...