使用proc编译器遇到的几个问题及解决办法

(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)

猜你喜欢

转载自blog.csdn.net/J_H_C/article/details/81037328
今日推荐