(9813) C #include files for OpenVMS?

Archive of the OpenVMS Ask the Wizard (ATW) questions and answers database.
Locked

Topic author
User
Visitor
Posts: 0
Joined: Mon Jan 10, 2022 8:16 am
Reputation: 0
Status: Offline

(9813) C #include files for OpenVMS?

Post by User » Sat Aug 28, 2004 9:26 am

I'm trying to compile a C program with DEC C 5.0-003 compiler. When compiled,
the error "Cannot find file specified in #include directive" is generated for
files hdef.h, iosbdef.h, and va_rangedef.h.

Apparently, I can't locate these include files. Can you tell me where these
include files are? Thanks for your help.


Wizard
Visitor
Posts: 0
Joined: Mon Jan 10, 2022 8:17 am
Reputation: 0
Status: Offline

Re: (9813) C #include files for OpenVMS?

Post by Wizard » Sun Aug 29, 2004 9:26 am

You have an extremely old C compiler, and one known to potentially
generate code incompatible with newer Alpha microprocessors; a C
compiler with a known code generation bug. The OpenVMS Wizard
would accordingly encourage an upgrade to a more recent compiler.

va_rangedef.h and iosbdef.h are components of SYS$STARLET_C.TLB
definition library. (The OpenVMS Wizard is not aware of an
hdef.h module, though there are various *h*def.h modules around.)

Recent versions of the C compiler will automatically search
SYS$STARLET_C.TLB.

To reference SYS$STARLET_C.TLB modules in older compiler versions,
you will want to specify the library on the compilation command.

There is related C information in the FAQ, and there are topics
here -- including C information and C programming examples in
topics (8983), (5829), (5163), (2945), (2486), (3803), and (1661)
-- that may be of some interest to you. The code example in
(2945) shows how to reference both the SYS$STARLET_C.TLB APIs
and the version-specific and/or private APIs that reside in
SYS$LIB_C.TLB library.

The OpenVMS Wizard would also encourage a review of the available
C programming documentation -- the compiler documentation contains
the user's guide and related OpenVMS C programming materials, and
the most current C run-time library documentation now ships as part
of the OpenVMS documentation set.

Locked