CC 驱动程序提供了一些选项来帮助用户使用库。
-mt 选项用于编译和链接多线程代码。
-xia 选项用于链接区间运算库。
-xlang 选项用于链接 Fortran 或 C99 运行时库。
-library 选项用于指定 Oracle Solaris Studio C++ 编译器附带的以下库:
|
使用 –library 和 –staticlib 选项指定的库将静态链接。 以下为一些示例:
以下命令静态链接 libgc 库。
example% CC test.cc -library=gc -staticlib=gc
以下命令排除了库 libCrun 和 libCstd,否则缺省情况下这两个库包括在内。
example% CC test.cc -library=no%Crun,no%Cstd
缺省情况下,CC 根据命令行选项链接不同的系统库集合。如果指定 -xnolib(或 -nolib),CC 仅链接在命令行上使用 -l 选项显式指定的那些库。 (如果使用 -xnolib 或 -nolib,会忽略 -library 选项(如果有)。)
使用 –R 选项可以在可执行文件中生成动态库搜索路径。 执行期间,运行时链接程序使用这些路径搜索应用程序所需的共享库。缺省情况下,如果编译器安装在标准位置,CC 驱动程序会将指向 <install-directory>/lib 的一个或多个 –R 选项传递给 ld。可以使用 -norunpath 禁止在可执行文件中生成共享库的缺省路径。
缺省情况下,链接程序会搜索 /lib 和 /usr/lib。请勿在 -L 选项中指定这些目录或任何编译器安装目录。
对于针对部署生成的程序,应该使用 -norunpath 或 -R 选项进行生成,这样可避免在编译器目录中查找库。请参见使用共享库。