读书人

proc 编译有关问题

发布时间: 2012-03-08 13:30:13 作者: rapoo

proc 编译问题
大家好, 我需要移植一些proc程序到另外一个服务器上,
同样的编译指令, 在新机器上报错
编译指令:
rm *.c
rm *.o
rm *.lis
proc ExtraMain.pc
proc pub.pc
/oracle/app/oracle/product/9.2.0/bin/oraxlc -O3 -q64 -c ExtraMain.c
/oracle/app/oracle/product/9.2.0/bin/oraxlc -O3 -q64 -c pub.c
/oracle/app/oracle/product/9.2.0/bin/oraxlc -q64 -o bi_exp pub.o ExtraMain.o -L
/oracle/app/oracle/product/9.2.0/lib/ -lclntsh -lld -lm `cat /oracle/app/oracle
/product/9.2.0/lib/sysliblist` -lm -lc_r -lpthreads
结果
"pub.c ", line 808.10: 1506-342 (W) "/* " detected in comment.
"pub.c ", line 2211.10: 1506-342 (W) "/* " detected in comment.
ld: 0706-006 Cannot find or open library file: -l clntsh
ld:open(): A file or directory in the path name does not exist.

我想应该是环境变量没搞好 于是补充了环境变量。
SHLIB_PATH=/oracle/app/oracle/product/9.2.0/lib32:/oracle/app/oracle/product/9.2
.0/lib:/usr/lib:/lib

LD_LIBRARY_PATH=/oracle/app/oracle/product/9.2.0/lib32:/usr/lib:/usr/local/lib:/
oracle/app/oracle/product/9.2.0/lib

还是报错。 最后到oracle lib下查看了一下
file libclntsh.a
libclntsh.a: 0653-902 Cannot open the specified file for reading.
这个文件好像有问题的。
跟系统管理员说,他认为oracle安装没问题, 我的编程经验不多。 请大家帮忙分析下,还有些什么思路找到解决办法?

谢谢

[解决办法]
既然确认了 oracle 没有问题,
那么检查一下你的程序 ...
[解决办法]
ld: 0706-006 Cannot find or open library file: -l clntsh
ld:open(): A file or directory in the path name does not exist.

也许工程设置、环境配置还有点问题 ...
[解决办法]
查找clntsh.a 或者clntsh.so看看到底在哪个目录下,然后把路径放到LD_LIBRARY_PATH中,如果这样不成, 在命令行中cc -L/PATH of clntsh.*,如果还是不行,调整一下所引用库的顺序。

读书人网 >C语言

热点推荐