关于Pro*C编译出现的问题,救急!在线等!

Framers 2002-09-28 11:00:00
执行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程序)
请问这是缺少了安装哪些东西呢或是需要指定哪些路径?

...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weijsh 2002-09-29
  • 打赏
  • 举报
回复
gz
Framers 2002-09-29
  • 打赏
  • 举报
回复
不好意思了
看来这个分数还得让我自己来挣了。。。
问题找出来了:
cd $ORACLE_HOME/lib
ln -s libclntsh.so.8.0 libclntsh.so
即可。
这个主要是因为安装后系统为libclntsh.so.8.0,而加载时是不带版本号的。
所以用ln来建个链接名为libclntsh.so即可解决以上的问题。
不过还是得感谢一下大家的参与!

Framers 2002-09-28
  • 打赏
  • 举报
回复
另外是否有关于这方面的资料说明呢?

在此表示感谢!
Framers 2002-09-28
  • 打赏
  • 举报
回复
明白。这是我粘到这边时折行了。实际运行应该是没错的。
我这边是这样
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有误或是其他环境变量缺少了设定呢?



liubear 2002-09-28
  • 打赏
  • 举报
回复
应该两行写到一行中
或第一行打个反斜线
cc -o reg reg.o -L$(ORACLE_HOME)/lib\
-lclntsh 'cat /u01/app/oracle/product/8.1.7/lib/sysliblist' -ldl -lm

3,498

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧