References to currently unresolved symbols (unresolved external references)

If, during the automatic library call, a symbol is not the name of an existing member of an object data set, the symbol can subsequently be defined if a function or variable with the same name is encountered. Unresolved requests generate error or warning messages to the prelinker map.

Writable static references that are not resolved by the prelinker cannot be resolved later. Only the prelinker can be used to resolve writable static. The output object module of the prelinker should not be used as input to another prelink.

If you are building an application that imports symbols from a DLL, you must include the definition side-deck produced by the prelinker when the DLL was built as input to the prelink step of your application.

If the symbol is an L-name that was not resolved by automatic library call and for which a RENAME statement with the SEARCH option exists, the symbol is resolved under the S-name on the RENAME statement by automatic library call. See RENAME control statement for a complete description of the RENAME control statement.

Unresolved references or undefined writable static objects often result if the prelinker is given input object modules produced with a mixture of RENT/NORENT or LONGNAME/NOLONGNAME or DLL options. For more information on avoiding unresolved references in a DLL or in an application that imports symbols from a DLL, see z/OS XL C/C++ User's Guide.