HP OpenVMS Systems

ask the wizard
Content starts here

C #include files for OpenVMS?

» close window

The Question is:

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.

The Answer is :

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

answer written or last revised on ( 29-AUG-2004 )

» close window