Linux下Oracle Pro*C 预处理错误

it2022-05-05  179

为了迎接这一波虚拟化浪潮,客户原有运行在Linux PC上的一套老的缴费系统需要迁移到虚拟机。

某一部分是在Linux下基于Oracle Pro*C开发,我要将这个程序迁移到CentOS5.4的VPS上面。

编译这个小程序时出现了这样一类错误:

1 Error at line 30, column 10 in file /usr/include/sched.h2 #include <stddef.h>3 .........14 PCC-S-02015, unable to open include file5 Syntax error at line 201, column 37, file /usr/include/bits/sched.h:6 Error at line 201, column 37 in file /usr/include/bits/sched.h7 extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)8 ....................................19 PCC-S-02201, Encountered the symbol "__setsize" when expecting one of the following:

 

由于是原有代码,所以肯定是编译环境问题。排查了半天,才发现是预处理程序的配置错误导致了无法找到正确的头文件。

这个配置文件存在于

${ORACLE_HOME}/precomp/admin/pcscfg.cfg

查找stddef.h文件的真正位置:

[~]$ locate stddef.h/usr/include/linux/stddef.h/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h

/usr/lib/gcc/i386-redhat-linux/4.1.1/include/

加入到CFG文件中:

sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc/i386-redhat-linux/4.1.1/include/)

重新编译,通过。

转载于:https://www.cnblogs.com/sin4/archive/2012/03/27/2420259.html


最新回复(0)