linux 安装 occi (log4cplus 也是同样这样安装)

1)

首先在oracle管网下载:

oracle-instantclient-basic-10.2.0.3-1.i386.rpm

oracle-instantclient-devel-10.2.0.3-1.i386.rpm

 

使用root用户进入linux,将上面的basicdevel放入在/root/oracle10g_package/oracle_occipk目录下

执行rpm ivh * 进行安装,安装好的文件被生成到目录下:

/usr/lib/oracle/10.2.0.3/client/lib

存放库文件

其中libclntsh.so oracle提供给c语言调用的动态库

/usr/include/oracle/10.2.0.3/client 存放occi头文件

 

2)将/usr/include/oracle/10.2.0.3/client 存放occi头文件copy/usr/include目录下

使用g++

编译时出现错误:

g++ -o conncl connclient.cpp -I/usr/include -L/usr/lib/oracle/10.2.0.3/client/lib

命令执行后出现

/tmp/cckQbf4h.o(.text+0x24e): In function `main'::undefined reference to `oracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode, void*, void* (*)(void*, unsigned int), void* (*)(void*, void*, unsigned int), void (*)(void*, void*))'

 

/tmp/cckQbf4h.o(.text+0x743): In function `main':: undefined reference to`oracle::occi::Environment::terminateEnvironment(oracle::occi::Environment*)' /tmp/cckQbf4h.o(.gcc_except_table+0xa4): undefined reference to `typeinfo for oracle::occi::SQLException' collect2: ld returned 1 exit status

 

上面是找不到动态函数库,需要命令行参数中增加-lclntsh -locci

g++ -o conncl connclient.cpp -I/usr/include -L/usr/lib/oracle/10.2.0.3/client/lib -lclntsh -locci

执行语句再次编译,出现

/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/oracle/10.2.0.3/client/lib/libocci.so, may conflict with libstdc++.so.6

 

 OCCI库在linux编译的时候,由于linux版本太高,会提示以上情况,实际上,在大多数linux

系统上,还保留有libstdc++5的库。

修改命令参数

g++ -o conncl connclient.cpp -I/usr/include -L/usr/lib/oracle/10.2.0.3/client/lib

-lclntsh -locci /usr/lib/libstdc++.so.5

 

编译通过。执行程序./conncl

 

创建3个软链接

ln -s libocci.so.11.1  libocci.so

ln -s libclntsh.so.11.1   libclntsh.so

ln -s libclntsh.so libclntsh.so.11.1

 

codeblock下配置

settings->compiler settings->search directories

compiler 存放include路径

linker  存放lib路径

 linux 安装 occi (log4cplus 也是同样这样安装) - 蓝色火焰 - 水木博客

 
linux 安装 occi (log4cplus 也是同样这样安装) - 蓝色火焰 - 水木博客
 


settings->compiler settings->linker settings

other linker options  存放指定的库文件

 linux 安装 occi (log4cplus 也是同样这样安装) - 蓝色火焰 - 水木博客

 

Linuxerror while loading shared libraries错误解决办法

1、打开/etc/ld.so.conf 文件

2、加入(动态)库文件所在的目录,例如我这里是 /usr/local/lib 目录

3、终端中运行下面的指令更新下配置文件

    /sbin/ldconfig –v

经过以上三个步骤后,error while loading shared libraries的问题就解决了!