aix 上 6.1 编译 .pc文件的时候报错。
出错内容为 /usr/include/stand...h
查询后得知 pro*c 预编译器不能处理#waring 这种宏。需要使用
#ifndef ORA_PROC
#endif 来忽略掉不需要 预编译的头文件。
可惜项目的源码比较旧加了这种宏还是无果,只能修改 /usr/include/stand...h 中的waring,必须注释或者删除掉才可以。
后来编译时,还是报一堆typedef 的内容无法找到。
最后在网上找到了做法,修改
oracle 预编译的配置文件 pcscfg.cfg
define=__64BIT__
define=_IBM_C
define=_LONG_LONG 来解决这个问题。
如果无oracle用户,也可以在 proc的参数后面加上 define=__64BIT__ define=_IBM_C define=_LONG_LONG 也可
虽然解决了问题,但是未能在oracle的官方文档中找到解释-_-#