大家好:
我在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内容以适应服务端和客户端版本不一致的问题。
希望有做过类似的朋友给予帮助和指导,先谢谢了。

解决方案 »

  1.   

    这个问题是aix头文件和编译器兼容问题.如果不想大规模修改,就把/usr/include/standards.h
    135行那段注释掉.vi编辑时用wq! 退出。当然修改也可以,就是比较麻烦。
      

  2.   

    应该是不小心多打了个分号,
    Error at line 60, column 12 in file sample1.pc
    是不是多了个分号啊,再仔细看看吧。
    The symbol ";" was substituted for "buf_len" to continue
    你仔细看报错信息,不要出来一大堆,就没信心了。