我正在尝试使用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
我有什么遗漏的吗?我还能做什么?
答案 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有关,但描述的是同等问题。