Proc*C编译出错
Error in Proc*C compilation
我正在尝试使用以下预编译器选项在Red Hat Linux 4.1.2-44上编译.pc文件(能够在HP和Solaris上编译):
PROCFLAGS =*maxopencursors*=100PARSE=NONEuserid/db2poc@mydbVARCHAR=YEScode=CPPCPP_SUFFIX=CPP持续时间=会话sqlcheck=1full包含>=/app1/myuser/Application/Source/HeaderSYS_include=/oradata1/ora11g/app/ora11g/product/11.2.0/dbhome_1/rdbms/public,/oradata1/ora11g/apps/ora11g/product/11.2.00/dbhome_1/public,/oradata1/ora11g/app/ora11g/product/11.2.0/dbhome_1/rdbms/plsql/public,/oradata1/ora11g/moduct/11.2.0/dbhome_1/xdk/include,/usr/include/c++/3.4.6/backward
问题是,无论EXEC SQL DECLARE SECTION中有宏或typedef数据类型,它都会抛出一个错误,说PCC-S-02322,发现宏的未定义标识符,并且在typedef数据类型的情况下抛出以下错误:
PCC-S-02201,在预期以下情况时遇到符号"SHORT":
auto,char,const,double,enum,extern,float,int,long*ulong_varchar,OCIBFileLocator OCIBlobLocator*OCIClobLocator、OCIDateTime、OCExtProcContext、OCIntervalOCIRowid、OCIDate、OCINumber、OCIRaw、OCIString、寄存器、*short,signed,sql_context,sql_cursor,static,struct*typedef,union,unsigned,utext,uvarchar,varchar,voidvolatile,typedef名称,预编译头,exec oracleexec oracle begin,exec,exec sql,exec sql beginexec-sql-end,exec-sql-type,exec-sql var,exec-sql include,
符号"enum"被替换为"SHORT"以继续
请提出建议。感谢
您可以首先使用c预编译器预编译源代码:
cpp-p-E您的文件.src-o您的文件.dst
然后你会得到宏解包。
-p选项是必需的,因为Pro*C程序可能会与线标记混淆。
-需要E选项,因为Pro*C程序可能与非传统输出混淆。
- 在Linux for Windows上编译C++代码时出错
- 为x86而非x64编译时出错
- 当我尝试通过 mingw 使用 CMake 和 SFML 库编译项目时出错
- 尝试在Windows上执行C++时出错(通过MinGW编译)
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- constexpr 使用 clang 编译 TensorFlow 时出错
- 从DLL导出函数,LoadLibrary()需要用TEXT转换的字符串才能编译而不会出错
- 编译包含指向模板函数的指针的初始值设定项列表时,gcc 出错,但 clang 不出错
- 编译时出错 - 从 DWORD 到 LPCVOID 的转换
- 在发布模式下启动使用库的静态链接编译的应用程序时出错
- 编译时出错 - 链接.cpp和头文件
- <limits> 使用 VSC2019 编译旧代码时出错
- 在 ubuntu 焦点上编译虚幻引擎 4.25 时出错
- 编译包含LLVM API标头的C++文件时出错
- 编译以下代码时出错
- 使用交叉工具ng编译gcc时出错
- 在 dll 中为 qLibrary 编译 qobject 时出错
- 使用 cmake 在窗口上编译 c++ 数据库时出错
- 使用 TDM GCC 5.1.0 编译 PDCurses36 时出错
- Lua :在原生lua中编译,但在使用LuaJIT和sol2时C++出错