Oracle Solaris Studio 12.2:C++ 用户指南

A.2.29 –G

生成动态共享库而不是可执行文件。

缺省情况下,在命令行上指定的所有资源文件都是使用 -xcode=pic13 进行编译的。

在从包含模板且用 -instances=extern 选项编译的文件中生成共享库时,将自动从模板缓存中包含 .o 文件引用的任何模板实例。

如果要通过指定 -G 与其他必须在编译时和链接时指定的编译器选项来创建共享对象,请确保在编译时和与生成的共享对象链接时也指定这些选项。

创建共享对象时,所有使用 -xarch=v9 编译的目标文件也必须使用 A.2.118 –xcode=a 中推荐的显式 -xcode 值进行编译。

A.2.29.1 交互

如果未指定 – c(仅编译选项),以下选项将传递给链接程序:

警告

请勿使用 ld-G 生成共享库,而应使用 CC- GCC 驱动程序会自动将 C++ 所需的多个选项传递给 ld

使用 -G 选项时,编译器不将任何缺省 -l 选项传递到 ld 选项。如果您要使共享库具有对另一共享库的依赖性,就必须在命令行上传递必需的 -l 选项。例如,如果要使共享库依赖于 libCrun,必须在命令行上传递 -lCrun

另请参见

-dy-Kpic-xcode=pic13–ztextld(1) 手册页以及15.3 生成动态(共享)库