题
当我试图预编译*.电脑文件,该文件包含一个警告令我收到以下错误:
PCC-S-02014,遇到的符号"警告"当期待着以下之一:(bla bla bla).
我可以以某种方式说服临*C忽略的事情,如果它不知道该怎么做呢?我不能删除 #warning
指令,它用于在一个标题的文件,我不能改变和必须包括的内容。
解决方案
根据 Pro*C/C++编程指南 (第5章"高级主题")、Pro*C默默地忽略了一些预处理指令包括#错误,并#pragma,但可悲的是,不#警告。由于你的警告指令中包含一个标题的文件,你可能可以使用的ORA_PROC宏:
#ifndef ORA_PROC
#include <irrelevant.h>
#endif
由于某些原因,临*C错误的,如果你试图隐瞒一直警告这种方式,但是。
其他提示
使用选项 parse=none
与proc
你不能。Pro*C只知道#如果#包括。我最好的建议将对其进行预处理的文件的生成过程的一部分去除的东西Pro*C不会喜欢的。喜欢的东西
grep -v -E '^#(warning|pragma|define)' unchangeable.h >unchangeable.pc.h
我的其他建议是要避免令人憎恶这是Pro*C,但我猜你是被卡住它...
容斯Ericsons的答案是正确的。
还有第二种情况可能需要使用这一伎俩。
一些版本的Pro*c不能处理包括文件,没有一个文件的扩展。
该ORA_PROC定是一个可行的解决方案来解决这一问题。
/bin/让-f/css/hwmig/pcprg/proc9i32.mk PROCFLAGS="sqlcheck=义userid=:/india09"PCCSRC=bic I_SYM=包括=pc1 proc sqlcheck=义userid=:/india09妇女研究所=bic包括=.包括=/oracle/Ora92/precomp/公共包括=/oracle/Ora92/rdbms/公共包括=/oracle/Ora92/rdbms/演示,包括=/oracle/Ora92/plsql/公共包括=/oracle/Ora92/网络/公
Pro*C/C++:释放9.2.0.6.0-生产上周二十月2日14:05:38 2008年
版权(c)1982年、2002年、Oracle公司。保留所有权利。
系统默认选择的数值取自:/oracle/Ora92/precomp/admin/pcscfg.cfg
语法错误在线135,第2列、文件/usr/include/标准。h:错误的线135,第2列在文件/usr/include/标准。h
警告-qdfp选项是需要处理DFP码头。
.1 PCC-S-02014,遇到的符号"预警"的时候期待一个跟随着 g:
一数字不变,换行、定义、elif,否则,endif 错误的,如果,ifdef,ifndef,包括行,pragma,民主基金, 一个立即的预处理器的命令,C标记, 符号"行,"取代"警告",以继续。
语法错误在线30,第7栏文件bic。pc:错误的在线30,第7列在文件bic。电脑 文件 fp;......1 PCC-S-02201,遇到的符号""当期待着以下之一:
;,=([ 符号";"是取代"*"继续。
错误的线0、列0文件bic。电脑 PCC-F-02102,致命的错误,而这样做预处理,C
删除以下两条线/usr/include/标准。h
警告-qdfp选项是需要处理DFP码头。
别
修改 /usr/include/standards.h
.
删除线 #warning The -qdfp option is required to process DFP code in headers.
Proc不支持 #warning
中只是 #else
#if
等等。