Pro*C Precompiler Error using OTT and code=cpp

From: Wilfried Antony <wantony_at_cae-gmbh.de>
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);

.................................................1 
PCC-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

Original text of this message