日期:2014-05-17  浏览次数:20976 次

unix下proc编译问题
大家好:
我在aix5.3下用oracle自带的.mk文件编译pc文件报
Syntax error at line 135, column 2, file /usr/include/standards.h:
Error at line 135, column 2 in file /usr/include/standards.h
#warning The -qdfp option is required to process DFP code in headers.
.1
PCC-S-02014, Encountered the symbol "warning" when expecting one of the followin
g:

  a numeric constant, newline, define, elif, else, endif,
  error, if, ifdef, ifndef, include, line, pragma, undef,
  an immediate preprocessor command, a C token,
The symbol "newline," was substituted for "warning" to continue.

Syntax error at line 60, column 12, file sample1.pc:
Error at line 60, column 12 in file sample1.pc
  size_t buf_len, msg_len;
...........1
PCC-S-02201, Encountered the symbol "buf_len" when expecting one of the followin
g:

  ; , = : ( [ * ? | & < > + - / % . ^ *= /= %= += -= <<= >>=
  &&= ||= ^= | & == != <= >= << >> ++ -- ->
The symbol ";" was substituted for "buf_len" to continue.

Error at line 0, column 0 in file sample1.pc
PCC-F-02102, Fatal error while doing C preprocessing
make: The error code from the last command is 1.


Stop.
make: The error code from the last command is 2.

错误。
后面上网查说是oracle数据库客户端和服务端的版本不一致导致的。
我看了一下服务端是9i,服务端是11g。
后面找了一台服务端和客户端都是9i的,编译同样的pc程序是没有问题的。
请问下有谁碰到过类似的问题吗?
这个问题是否一定要重新安装客户端版本才能解决?
还是修改demo_proc.mk内容以适应服务端和客户端版本不一致的问题。
希望有做过类似的朋友给予帮助和指导,先谢谢了。



------解决方案--------------------
这个问题是aix头文件和编译器兼容问题.如果不想大规模修改,就把/usr/include/standards.h
135行那段注释掉.vi编辑时用wq! 退出。

当然修改也可以,就是比较麻烦。
------解决方案--------------------
应该是不小心多打了个分号,
Error at line 60, column 12 in file sample1.pc
是不是多了个分号啊,再仔细看看吧。
The symbol ";" was substituted for "buf_len" to continue
你仔细看报错信息,不要出来一大堆,就没信心了。