Operating System - OpenVMS
1747983 Members
4679 Online
108756 Solutions
New Discussion юеВ

add directories using /INCLUDE_DIRECTORY in CC (Compaq C v6.4))

 
SOLVED
Go to solution

add directories using /INCLUDE_DIRECTORY in CC (Compaq C v6.4))

I have the existing project with source codes compiled under Vax C.
I try to compile it under Compaq C v6.4 but reach following problems :
I need to add additional include directories which were added before as following-

VAXC$INCLUDE [], -
user$disk:['Home_v3_4'.refer.ref4.portable.include], -
SYS$LIBRARY:, -
user$disk:['Home_v3_4'.refer.ref4.vms.include]

Taking into account that VAXC$INCLUDE is not defined on my site, so I solve it with following line

cc /INCLUDE_DIRECTORY = (user$disk:['Home_v3_4'.refer.ref4.vms.include], -
SYS$LIBRARY:,user$disk:['Home_v3_4'.refer.ref4.vms.include] ) -
'options' 'P1'

but compilation failed - with many lines like

Compilation du module CONFHDL/OBJ=RES_LIB:CONFHDL.OBJ avec options : /Nolist/deb
ug/Noopt/stand=portable
#include
.^
%CC-F-NOINCLFILEF, Cannot find file specified in #include directive.
At line number 24 in ML_25B_1:[000000.AAA.RES_OP.REF4.VMS.SOUR
CE]CONFHDL.C;1.


Please help me to understand - what is not correct in my changes and also explain correct way


Thank you in advance
3 REPLIES 3

Re: add directories using /INCLUDE_DIRECTORY in CC (Compaq C v6.4))

Forgot...

System is - Vax 4000 -400
OS - OpenVMS 7.1
Steven Schweda
Honored Contributor
Solution

Re: add directories using /INCLUDE_DIRECTORY in CC (Compaq C v6.4))

DEC/Compaq/HP C is not VAX C, and it should
know where to find the system header files
without your help, so the first thing I would
do is forget all about VAXC$INCLUDE and
SYS$LIBRARY. Depending on how the compiler
was installed, you may have only text
libraries, not any loose system header files.
If you have the loose header files, then they
should be in:

SYS$COMMON:[DECC$LIB.INCLUDE.DECC$RTLDEF] SYS$COMMON:[DECC$LIB.INCLUDE.SYS$STARLET_C]

I find it helpful to define a logical name:

$ define /system decc_include -
SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF], -
SYS$COMMON:[DECC$LIB.REFERENCE.SYS$STARLET_C]

The compiler does _not_ use it, but I do:

> #include

I don't see a "stand.h" on my system:

ALP $ dire decc_include:stand.h
%DIRECT-W-NOFILES, no files found

Is that one of _your_ header files, or did
you expect the system to have it?

HELP CC /INCLUDE_DIRECTORY
should provide a long and complicated
explanation of where the compiler looks for
header files (and/or text library modules).

> user$disk:['Home_v3_4'.refer.ref4.vms.include]

"Home_v3_4" is defined properly? Is that in
your list twice? Why?

> [...] what is not correct in my changes and
> also explain correct way

I can see only one error message, and I can't
see where your header files are, so, with my
weak psychic powers, I can't tell you much
with only the information I have.

Re: add directories using /INCLUDE_DIRECTORY in CC (Compaq C v6.4))

Thank you !! I have found my mistake !