Pro-C/C++编译找不到 stddef.h 文件的解决办法

本文介绍了解决Pro*C/C++在编译过程中找不到stddef.h文件的问题。通过查找stddef.h的位置,并在配置文件pcscfg.cfg中添加相应的路径,最终成功解决了编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以编译一个 sample 为例,出现找不到 “stddef.h” 文件的错误,如下:

$ proc sample.pc

Pro*C/C++: Release 11.2.0.1.0 - Production on Wed Dec 26 00:40:15 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

System default option values taken from: /usr/local/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg

Error at line 33, column 10 in file /usr/include/stdlib.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 147, column 10 in file /usr/include/sys/types.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 25, column 10 in file /usr/include/alloca.h
#include <stddef.h>
.........1

...........

解决办法:
1. 先确定 stddef.h 在gcc的哪个目录下
find /usr -name stddef.h
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include/stddef.h

2. 在 $ORACLE_HOME/precomp/admin/pcscfg.cfg 文件中加入这个目录
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include/


然后再编译:
$ proc sample.pc

生成对应的 sample.c 文件,问题解决。



In file included from E:\db\5.9\mingw53_32\include\QtCore/qstring.h:49:0, from E:\db\5.9\mingw53_32\include\QtCore/QString:1, from ..\uidemo01_12-17\file_kw.h:3, from ..\uidemo01_12-17\file_kw.cpp:1: E:\db\5.9\mingw53_32\include/QtCore/qbytearray.h: In member function 'virtual void txtFile::deelTxt(QString, QList<short unsigned int>&, int&, int&)': E:\db\5.9\mingw53_32\include/QtCore/qbytearray.h:602:13: note: candidate 1: bool operator!=(const QByteArray&, const char*) inline bool operator!=(const QByteArray &a1, const char *a2) Q_DECL_NOTHROW ^ In file included from E:/db/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include/stddef.h:1:0, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/stdint.h:32, from E:/db/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include/stdint.h:9, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/c++/cstdint:41, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/c++/bits/char_traits.h:420, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/c++/string:40, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/c++/random:40, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/c++/bits/stl_algo.h:66, from E:/db/Tools/mingw530_32/i686-w64-mingw32/include/c++/algorithm:62, from E:\db\5.9\mingw53_32\include/QtCore/qglobal.h:109, from E:\db\5.9\mingw53_32\include/QtCore/qchar.h:43, from E:\db\5.9\mingw53_32\include\QtCore/qstring.h:48, from E:\db\5.9\mingw53_32\include\QtCore/QString:1, from ..\uidemo01_12-17\file_kw.h:3, from ..\uidemo01_12-17\file_kw.cpp:1: ..\uidemo01_12-17\file_kw.cpp:132:37: note: candidate 2: operator!=(QNoImplicitBoolCast {aka int}, int) <built-in> if(data!=" "&&data!=NULL)
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值