PCC-S-02015,“无法打开包含文件”

时间:2017-01-04 09:58:46

标签: c++ unix makefile oracle-pro-c

我正在尝试使用CC: Sun C++ 5.11 SunOS_i386在UNIX上编译C ++程序。我创建了以下Makefile

ORACLE_HOME=/app/ora/local/product/11.2.0.3/db_1
CC= CC -m64 -library=iostream

test.cpp : test.pc
    $(ORACLE_HOME)/bin/proc test.pc code=CPP sys_include=/usr/include cpp_suffix=cpp

test.o : test.cpp
    $(CC) -c test.cpp -DDEBUG -DSOLARIS -I$(ORACLE_HOME)/precomp/public

test.bin: test.o 
    $(CC) -o test.bin test.o  -L$(ORACLE_HOME)/lib -lclntsh -lnsl -lsocket -lgen -ldl   

当我执行Makefile时,我收到以下错误......

#include <iostream>
.........1
PCC-S-02015, unable to open include file

我有什么遗漏的吗?我还能做什么?

1 个答案:

答案 0 :(得分:3)

假设您的原始源文件是Oracle Pro * C .pc文件,则错误表示Pro * C无法找到您的包含文件。如果您没有因此导致的FATAL错误,则PCC-S-02015错误实际上是一个简单的警告。预编译器警告您它已找到无法处理的include指令,因此它在生成的.cpp文件中保持不变。在这种情况下,它将在下一个构建步骤中正确处理。

问题通常是您以后使用其中一个包含文件(主要是typedef或类型的等效宏定义)中定义的符号,这会导致致命的编译错误。

在这种情况下,您必须在位于$ORACLE_HOME/precomp/admin的pcscfg.cfg文件中声明包含文件夹或 在调用proc时在命令行中包含。

参考:https://lists.debian.org/debian-user/2001/09/msg00273.html - 它与Debian有关,但描述的是同等问题。