HP eld Manual page 145

Table of Contents

Advertisement

Output Listings and Error Handling
Error Messages
Cause. eld is building a program or DLL, and the program or DLL makes a reference
to the symbol mentioned in the message, but eld was unable to find a copy of that
symbol, either in the program or DLL being built, or in any other DLL that was looked at
during the link. This may occur for many reasons, ranging from spelling errors in your
source code, or things that you still need to write that you don't yet have in your source
code, to problems with files that other people are supposed to provide to you, which
either they didn't provide or you didn't pass along for eld to use, or "standard" things
not set up correctly in your installation.
Effect. Error (The linker cannot do what was requested of it and will eventually stop,
but may continue for the purpose of detecting additional errors before stopping).
Recovery. You don't necessarily need to resolve all references at link time. A
program may run correctly, even if it has unresolved references at link time. But, you
may prefer that your link be clean. In that case, you need to look at the names of the
symbols that eld said it couldn't find, and see if they exist somewhere. The message
also told you the name of the input object file that had the reference to the symbol, and
the name of a code or data section within that object file where the reference occurred,
and the offset of the reference within that code or data section. That symbol may be in
a DLL, for example, that eld wasn't using, so you need to supply those DLLs to eld.
eld will print out informational messages about all the DLLs that it used if you supply
the -verbose option. A symbol in a DLL also needs to be exported from that DLL for
eld to find it. A symbol might also be a member of an archive, but the archive needs
to come later on the command line than the reference to the symbol to guarantee that
eld finds the symbol in the archive. If you have unresolved references, to get an
error-free link you need to specify either -unres_symbols warn (to change these
messages into just warning messages) or -unres_symbols ignore (to not get any
messages at all).
1211 <filename>: unresolved reference to <symbol name>.
Cause. eld is building a program or DLL, and the program or DLL makes a reference
to the symbol mentioned in the message, but eld was unable to find a copy of that
symbol, either in the program or DLL being built, or in any other DLL that was looked at
during the link. This may occur for many reasons, ranging from spelling errors in your
source code, or things that you still need to write that you don't yet have in your source
code, to problems with files that other people are supposed to provide to you, which
either they didn't provide or you didn't pass along for eld to use, or "standard" things
not set up correctly in your installation.
Effect. Error (The linker cannot do what was requested of it and will eventually stop,
but may continue for the purpose of detecting additional errors before stopping).
Recovery. You don't necessarily need to resolve all references at link time. A
program may run correctly, even if it has unresolved references at link time. But, you
may prefer that your link be clean. In that case, you need to look at the names of the
symbols that eld said it couldn't find, and see if they exist somewhere. The message
also told you the name of the input object file that had the reference to the symbol.
eld Manual—527255-009
6-35

Advertisement

Table of Contents
loading

Table of Contents