-qmkshrobj

Category

Output control

Pragma equivalent

None.

Purpose

Creates a shared object from generated object files.

Use this option, together with the related options described later in this topic, instead of calling the linker directly to create a shared object. The advantages of using this option are the automatic handling of link-time C++ template instantiation (using either the template include directory or the template registry), and compatibility with -qipa link-time optimizations (such as those performed at -O5).

Syntax

Read syntax diagramSkip visual syntax diagram
-qmkshrobj syntax

>>- -q--mkshrobj-----------------------------------------------><

Defaults

By default, the output object is linked with the runtime libraries and startup routines to create an executable file.

Usage

Specifying -qmkshrobj implies -qpic.

You can also use the following related options with -qmkshrobj:

-o shared_file
The name of the file that holds the shared file information. The default is a.out.
-e name
Sets the entry name for the shared executable to name.
Note: Options -qmkshrobj and -qstaticlink are incompatible and cannot be specified together. If you specify -qmkshrobj and -qstaticlink (or -qstaticlink=libgcc) together, the driver issues the following message: 1501–264 The options $1 and $2 are incompatible. Option $1 is ignored.

For detailed information about using -qmkshrobj to create shared libraries, see Constructing a library.

Predefined macros

None.

Examples

To construct the shared library big_lib.so from three smaller object files, enter the following command:
xlc -qmkshrobj -o big_lib.so lib_a.o lib_b.o lib_c.o

Related information