關於Pro*C出現找不到頭文件的錯誤解決

 [本人baidu博客全部搬家到csdn,baidu博客地址:http://hi.baidu.com/new/miracleconf]


在RedHat Linux 5.4 下安裝了Oracle 10g進行Pro*C編譯文件時,出現如下錯誤:

Pro*C/C++: Release 10.2.0.1.0 - Production on Wed Aug 17 12:55:33 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

System default option values taken from: /u01/app/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg

PCC-I-02106, Userid only used when SQLCHECK = FULL, userid ignored.
Error at line 33, column 10 in file /usr/include/string.h
#include <stddef.h>

.........1
PCC-S-02015, unable to open include file
Error at line 34, column 11 in file /usr/include/stdio.h
# include <stddef.h>
..........1
PCC-S-02015, unable to open include file

將源文件拿到RHEL4上同樣安裝ORACLE 10g進行編譯,未發生錯誤。

考慮到RHEL4和RHEL 5的gcc版本不同併發生找不到gcc頭文件的情況,那發生這個情況的原因應該是gcc的頭文件目錄改變了,而oracle的pcscfg.cfg文件未作相應變化。

於是在/usr下查找該文件

[oracle@test usr]$find /usr -name stddef.h -print
/usr/src/kernels/2.6.18-238.19.1.el5-i686/include/linux/stddef.h
/usr/src/kernels/2.6.18-194.el5-i686/include/linux/stddef.h
/usr/include/linux/stddef.h
/usr/lib/syslinux/com32/include/stddef.h
/usr/lib/syslinux/com32/include/bitsize/stddef.h
find: /usr/lib/audit: Permission denied
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h
/usr/lib/bcc/include/stddef.h

選擇使用 4.1.1的頭文件目錄/usr/lib/gcc/i386-redhat-linux/4.1.1/include/,添加到 $ORACLE_HOME/precomp/admin/pcscfg.cfg 再次編譯就不會出錯了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章