(1)若在Linux下执行proc出错如下:
proc: error while loading shared libraries:libclntsh.so.11.1: cannot open shared object file: No such file or directory
需要设置:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib //这样设置是临时的,当重新登陆需要重新设置,可以将这句命令添加到~/.bashrc文件中。再执行source .bashrc命令使新的配置生效。
(2)若使用proc命令编译出现大量错误类似下面这种形式,
Error atline 34, column 11 in file /usr/include/stdio.h
# include <stddef.h>
..........1
说明在proc编译器工作(具体来说是在使用C语言语法检查.pc文件时会调用gcc的头文件)时,找不到stddef.h头文件。而proc编译器是根据下面这个目录的配置文件去查找的。意味着该目录/home/cjh/tools/oracle11g/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg下的pcscfg.cfg配置有问题,检查里面配置的路径文件是否存在(由于gcc版本的原因可能里面配置的系统没有,需要重新加入自己系统中存在的)。
(3)需要添加与Pro*C/C++相关的头文件#include "sqlca.h",该头文件位于:
/home/cjh/tools/oracle11g/product/11.2.0/dbhome_1/precomp/public
并且在编译由.pc转化成的.c文件时需要载入Pro*C/C++相关的库clntsh,其位置如下:
/home/cjh/tools/oracle11g/product/11.2.0/dbhome_1/lib
编译指令如下:
gcc demo01_hello.c -I/home/cjh/tools/oracle11g/product/11.2.0/dbhome_1/precomp/public-L/home/cjh/tools/oracle11g/product/11.2.0/dbhome_1/lib -lclntsh
(4)