Pro*C Precompiler Error using OTT and code=cpp
Date: Wed, 30 Jan 2002 13:51:02 +0100
Message-ID: <3C57EC36.8796D4D5_at_cae-gmbh.de>
[Quoted] I am trying to precompile a Pro*C application for the company I am
working.
Generating Include file and Intype file with OTT succeeded.
But invoking the Pro*C precompiler results in error messages concerning
the processing of the "size_t" structure being involved by including
the file "oci.h" in the OTT-generated Include file. This file in turn
seems to include "ociextp.h", "ociapr.h", "nzt.h" which cause the
precompiler to complain: (i translated some terms to english)
[Quoted] [Quoted] proc code=cpp cpp_suffix=cc intype=diacron.typ
[Quoted] 'sys_include=(/u01/app/oracle/product/8.1.7/precomp/syshdr,
/usr/lib/gcc-lib/i486-suse-linux/2.95.2/include,
/usr/include/g++,/usr/include,/usr/include/linux)'
iname=transact
Pro*C/C++: Release 8.1.7.0.0 - Production on Mi Jan 30 12:04:34 2002
(c) Copyright 2000 Oracle Corporation. All rights reserved.
System-Defaultsettings from:
/u01/app/oracle/product/8.1.7/precomp/admin/pcscfg.cfg
Syntaxerror in Line 233, Col 50, File
/u01/app/oracle/product/8.1.7/rdbms/public/ociextp.h:
Error in Line 233, Col 50, in File
/u01/app/oracle/product/8.1.7/rdbms/public/ociextp.h
dvoid *ociepacm(OCIExtProcContext *with_context, size_t amount);
.................................................1PCC-S-02201, Found Symbol "size_t" when expecting one of the following:
... auto, char, const, double, enum, float, int, long, ulong_varchar, OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register, short, signed, sql_context, sql_cursor, static, struct, union, unsigned, utext, uvarchar, varchar, void, volatile, a typedef name, exec oracle, exec oracle begin, exec, exec sql, exec sql begin, exec sql type, exec sql var, Das Symbol "enum," ersetzte "size_t", um fortzufahren.
........the above several times for the other files.............
My pcscfg.cfg looks like:
include=/u01/app/oracle/product/8.1.7/precomp/public include=/u01/app/oracle/product/8.1.7/oracode/include include=/u01/app/oracle/product/8.1.7/oracode/public include=/u01/app/oracle/product/8.1.7/rdbms/include include=/u01/app/oracle/product/8.1.7/rdbms/public include=/u01/app/oracle/product/8.1.7/rdbms/demo include=/u01/app/oracle/product/8.1.7/network/include include=/u01/app/oracle/product/8.1.7/network/public include=/u01/app/oracle/product/8.1.7/plsql/public include=/u01/app/oracle/product/8.1.7/otrace/public include=/u01/app/oracle/product/8.1.7/ldap/public include=/home/wilf/lib/include ltype=none
parse=partial
And the beginning code in the file transact.pc looks like:
#include "sqlnet/transact.hh"
EXEC SQL BEGIN DECLARE SECTION;
#include <stdio.h> #include <stdlib.h> #include <sqlca.h> #include "diacron.h" //generated by OTT int id; varchar szenario[20]; char *username="************";
MYTYPE *MyPtr;
EXEC SQL END DECLARE SECTION; Transaction::.....several class encodings.......... Transaction::.....several class encodings..........
By the way, i figured out so many different settings and alternative code placements now, I satisfy all guidelines of the Pro*C-Programmers Guide, but I don't get that stuff running!
I'd appreciate any help!
Regards,
Wilfried
Received on Wed Jan 30 2002 - 13:51:02 CET