有关OCI的问题

[复制链接]
查看11 | 回复7 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
我在一台SUN的服务器上编译c程序(使用了OCI),但此服务器没有安装oracle,我把其他SUN服务器上的库文件和头文件拷过来使用,编译通过了,但运行时报错(不能打开libclntsh.so.0文件)。我该怎么办?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
没用过SUN的服务器,所以没法回答!
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
不是很明白你的意思,你使用了OCI,但是没有安装ORACLE???
你的程序是用来作什么的??
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
用静态连接编译吧。这样就通不过编译。呵呵
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 夏目 发布
[B]用静态连接编译吧。这样就通不过编译。呵呵 [/B]

大虾,请问怎样实现静态连接,是在makefile中指明,还是在make中带参数?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
这和你用的编译器有关,makefile中指明和make中代参数都可以。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 pecky 发布
[B]大虾,请问怎样实现静态连接,是在makefile中指明,还是在make中带参数? [/B]

看看$ORACLE_HOME/rdbms/demo/demo_rdbms.mk,稍微改改可能就好使了。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
把libclntsh.so.0所在的路径发布在环境变量LD_LIBRARY_PATH中就可以了,一般是$ORACLE_HOME/lib,至于静态连接库和动态连接库Makefile的写法是一样的,但是所连的库不一样而已:
动态库:libclntsh.so.0
静态库:libsql8.a
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行