执行make编译后
cc -o reg reg.o -L$(ORACLE_HOME)/lib -lclntsh 'cat /u01/app/oracle/product/8.1.7/lib/sysliblist' -ldl -lm出现以下的错误提示:
/usr/bin/ld : cannot find -lclntsh
collect2:ld returned 1 exit status
平台:Red Linux 7.3
数据库:Oracle 8.1.7(客户端安装模式加Pro*C程序)
请问这是缺少了安装哪些东西呢或是需要指定哪些路径?
cc -o reg reg.o -L$(ORACLE_HOME)/lib -lclntsh 'cat /u01/app/oracle/product/8.1.7/lib/sysliblist' -ldl -lm出现以下的错误提示:
/usr/bin/ld : cannot find -lclntsh
collect2:ld returned 1 exit status
平台:Red Linux 7.3
数据库:Oracle 8.1.7(客户端安装模式加Pro*C程序)
请问这是缺少了安装哪些东西呢或是需要指定哪些路径?
解决方案 »
- 创建数据库报错 ora-12638 身份证明检索失败,请教各位大侠怎么解决!多谢!
- oracle
- WHERE条件字段顺序和索引有关嘛
- oracle导出文件的.bmp 如何导入sqlserver2005
- 选择当月每天的销售单量,select出的结果有2天没数据的没显示,怎么让没数据的那几天显示0?
- oracle中的视图查询能够for update吗
- 请教ORACLE和SQL SEVER之间数据转换的问题
- 怎样把含有引号的字符insert 到table??
- 我是菜鸟,请问oracle中打开sqlplus忘了用户名和口令怎么办?
- oracle数据库关闭,重新启动的问题
- 请教:proc的编译问题????一个很久都没找到答案的问题!!!
- proc 在 VC中的编译问题?求救!
或第一行打个反斜线
cc -o reg reg.o -L$(ORACLE_HOME)/lib\
-lclntsh 'cat /u01/app/oracle/product/8.1.7/lib/sysliblist' -ldl -lm
我这边是这样
include /home/banktran/src/tax_pub.mk
APPNAME=reg
$(APPNAME):$(APPNAME).O
$(CC) -O $(APPNAME) $(APPNAME).o -L(LIBPATH) $(ORALIB)
....
另外在tax_pub.mk定义
LIBPATH=$(ORACLE_HOME)/lib
ORALIB=-lclntsh 'cat /u01/app/oracle/product/8.1.7/lib/sysliblist' \-ldl -lm
对于以上的内容可以确保语法上书写肯定是无误的,并且是可实施的(因为以前在其他机器编译通过,这两天刚装了新的机器)。
对此是否我安装oracle有误或是其他环境变量缺少了设定呢?
看来这个分数还得让我自己来挣了
问题找出来了:
cd $ORACLE_HOME/lib
ln -s libclntsh.so.8.0 libclntsh.so
即可。
这个主要是因为安装后系统为libclntsh.so.8.0,而加载时是不带版本号的。
所以用ln来建个链接名为libclntsh.so即可解决以上的问题。
不过还是得感谢一下大家的参与!