[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

resolving DEC C library calls? (opendir, etc)

» close window

The Question is:

 
I always get 2 undefined symbol errors from the
linker for the following code:


The Answer is :

 
  As the errors involve a failure of the linker to locate and resolve the
  opendir and closedir calls, the the Wizard would suggest upgrading to
  OpenVMS V7.1 -- which includes a run-time library shareable image with
  support for a number of routines including these directory calls -- or
  using the backport library available with DEC C V5.6 and later releases.
  (These and various other C library calls were first added in OpenVMS V7.0.
  Please see the new features manuals for OpenVMS V7.0 and V7.1 for details.)
 
  In other cases of unresolved symbols with code compiled using DEC C, the
  appropriate /PREFIX keyword can also come into play -- this qualifier
  adds a "decc$" prefix to external symbols, allowing these to be resolved
  by the linker during a standard library search.  (The Wizard regularly
  sees code compiled with /PREFIX=ALL.)
 
  Contrary to what some folks might assume, the C and other language run-time
  libraries ship on the OpenVMS distribution kit, and not with the compiler
  kit.  This allows applications written in the supported languages to be
  used on any OpenVMS system, regardless of the presence of the compiler.
  And this means that new library versions, new library routines, and new
  features also ship with OpenVMS releases, and not with the compiler.
 

answer written or last revised on ( #include )

» close window