日期:2014-05-16  浏览次数:20705 次

C++使用OCCI连Oracle10g的错误
在 red hat Enterprise linux 里用occi连接oracle10g 程序使用gcc编译。但出错,错误如下

error while loading shared libraries: libocci.so.10.1: cannot open shared object file: No such file or directory
的错误,

在使用 
export LD_LIBRARY_PATH=/oracle/products/10.2/db/lib

后出现如下错误
undefined symbol: createEnvironment__Q36oracle4occi11EnvironmentQ46oracle4occi11Environment4ModePvPFPvUi_PvPFPvPvUi_PvPFPvPv_v


谁知道怎样解决的吗?

------解决方案--------------------

我觉得用 g++ 来编译就好了。试试。
------解决方案--------------------
可能与你的libstdc++.so版本有关系

是6的吧

要么去搞一个兼容的occi。。。
------解决方案--------------------
C++的函数因为引入类的原因,有了成员函数和重载等概念,函数签名和C是不一样的,用g++编译吧
------解决方案--------------------
编译开关加上-L/oracle/products/10.2/db/lib,最好是-L$(ORACLE_HOME)/lib
环境变量LD_LIBRARY_PATH指对运行时起作用,编译时不起作用。