proc编译时报错:PCC-S-02015, unable to open include file

编译时报错:PCC-S-02015, unable to open include file


[hello@localhost src]$ make -f testflow.gcc ORA_VER=10

Pro*C/C++: Release 10.2.0.1.0 - Production on 星期四 8月 11 07:25:27 2016


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


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
Error at line 31, column 10 in file /usr/include/bits/types.h
#include <stddef.h>


看到其中一句:
System default option values taken from: /u01/app/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg


打开这个文件,看到里面的内容如下:
[oracle@localhost admin]$ cat pcscfg.cfg 
sys_include=(/ade/aime_rdbms_9819/oracle/precomp/public,/usr/include,/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include,/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include,/usr/lib/gcc-lib/i386-redhat-linux7/2.96/include)
ltype=short


这里可以看到加载的lib为如下目录 “/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include”


那么我们来看下stddef.h都在哪些目录里面有:
[hello@localhost src]$ locate stddef.h
/usr/include/boost/pending/cstddef.hpp
/usr/include/linux/stddef.h
/usr/lib/bcc/include/stddef.h
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h
/usr/lib/gcc/i386-redhat-linux6E/4.4.6/include/stddef.h

/usr/lib/syslinux/com32/include/stddef.h
/usr/lib/syslinux/com32/include/bitsize/stddef.h
/usr/share/man/man0p/stddef.h.0p.gz
/usr/src/kernels/2.6.18-308.el5-PAE-i686/include/linux/stddef.h


从这里面可以看到,gcc的版本里面没有3.2.3,只有下面三种
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h
/usr/lib/gcc/i386-redhat-linux6E/4.4.6/include/stddef.h


这里我们选择3.4.6,接下来修改下面这个文件:
/u01/app/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg


把gcc的版本改为3.4.6:【这里有个坑,因为locate时路径为/usr/lib/gcc/,而pcscfg.cfg里面的为/usr/lib/gcc-lib/】
[oracle@localhost admin]$ vi pcscfg.cfg 
sys_include=(/ade/aime_rdbms_9819/oracle/precomp/public,/usr/include,/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include, /usr/lib/gcc/i386-redhat-linux/3.4.6/include,/usr/lib/gcc-lib/i386-redhat-linux7/2.96/include)
ltype=short

~        

保存之后,重新再去编译文件即可。      


参考:

http://blog.csdn.net/fuyun10036/article/details/9357979

http://blog.csdn.net/pdw2009/article/details/5498092

http://blog.chinaunix.net/uid-20011314-id-1987607.html

http://blog.csdn.net/pdw2009/article/details/5498092

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值