 |
» |
|
|
 |
Ask the Wizard Questions
Missing symbols in C library
The Question is:
In Alpha VMS6.2 help on CC Run-time_functions, there are
several functions listed, such as mkdir, that indicate these
functions are supported, being declared in the
and header files. I am able to compile programs
using these declarations, but I am not able to link since
the linker notes that it cannot find these functions (symbol
undefined). I have done a SEARCH on the DECC$SHR.EXE run
time shareable image, and these functions do appear in such
a search there, so I am a bit confused about how to link
these functions into my programs. Can you give me any
advice about whether it is possible to use these functions?
Thank you for your assistance.
The Answer is:
Based on the number of users who have encountered this problem,
can I assume that the error message is
%LINK-W-NUDFSYMS, 1 undefined symbol:
%LINK-I-UDFSYM, MKDIR
%LINK-W-USEUNDEF, undefined symbol MKDIR referenced
in psect $LINK$ offset %X00000020
in module XXXX file DEVICE:[DIRECTORY]FILENAME.OBJ;1
The DECC$SHR.EXE image, which is automatically used to resolve
symbols, has the symbol DECC$MKDIR defined, but not MKDIR without
the prefix.
To resolve this link problem, you can either change your compile
command to include /PREFIX=ALL or change your link command to
include linking against the "unprefixed" libraries found by the
names SYS$LIBRARY:VAXC*.OLB.
By default, only names defined by the ANSI standard are prefixed.
|