来自Metalink
PCC-S-02201, Encountered the symbol "size_t" when expecting one of the
following
:
... auto, char, const, double, enum, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
union, unsigned, utext, uvarchar, varchar, void, volatile,
a typedef name, exec oracle, exec oracle begin, exec,
exec sql, exec sql begin, exec sql type, exec sql var,
The symbol "enum," was substituted for "size_t" to continue.
Syntax error at line 88, column 7, file /usr/include/gconv.h:
Error at line 88, column 7 in file /usr/include/gconv.h
size_t *);
解决方案说明
'sys_include' 和 'include' 预编译器选项设置不正确。 在位于 $ORACLE_HOME/precomp/admin 的 pcscfg.cfg 文件中设置“sys_include”和“include”预编译器选项,或者在调用“proc”时在命令行中包含。
例如,以下是正确设置变量的推荐方法:
运行以下命令以获取编译器位置:
gcc -v
从 /usr/lib/gcc-lib/i386-redhat-linux7/2.96/specs 读取规范 gcc 版本 2.96 20000731 (Red Hat Linux 7.3 2.96-128)
使用上面返回的路径(删除规范并替换为包含)
sys_include=($ORACLE_HOME/precomp/public,
/usr/lib/gcc-lib/i386-redhat-linux7/2.96/include,
/usr/include)
include=(/u02/app/oracle/product/8.1.5/precomp/public)
include=(/u02/app/oracle/product/8.1.5/rdbms/demo)
include=(/u02/app/oracle/product/8.1.5/network/public)
include=(/u02/app/oracle/product/8.1.5/plsql/public)
我猜想同时拥有 sysinclude 和 include 是你的问题。