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

交互

如果使用 -library 指定了库,则在编译期间会设置适当的 –I 路径。在链接期间会设置适当的 –L、–Y P、–R 路径和 –l 选项。

该选项会累积而不覆盖。

在使用区间运算库时,必须包括以下库之一:libClibCstdlibiostream

使用 -library 选项可确保针对指定库的 -l 选项按正确顺序传送。例如,对于 -library=rwtools7,iostream-library=iostream,rwtools7-l 选项都是按照 -lrwtool -liostream 顺序传递给 ld

指定的库在系统支持库链接之前链接。

对于 -library=stdcxx4,必须在 Solaris OS 上的 /usr/include/usr/lib 中安装 Apache stdcxx 库。最新的 OpenSolaris 发行版中也提供该库。

不能在同一个命令行上使用 -library=sunperf-xlic_lib=sunperf

在任何命令行中,最多只能使用 -library=stlport4-library=stdcxx4-library=Cstd 选项之一。

每次只能使用一个 Rogue Wave 工具库,而且不能将任何 Rogue Wave 工具库与 -library=stlport4-library=stdcxx4 一起使用。

在标准模式(缺省模式)下包含传统 iostream Rogue Wave 工具库时,必须也要包含 libiostream(有关其他信息,请参见《C++ 迁移指南》。只能在标准模式下使用标准 iostream Rogue Wave 工具库。以下命令示例显示了有效使用和无效使用 Rogue Wave tools.h++ 库选项的情况。


% CC -compat -library=rwtools7 foo.cc        <-- valid
% CC -compat -library=rwtools7_std foo.cc    <-- invalid

% CC -library=rwtools7,iostream foo.cc       <-- valid, classic iostreams
% CC -library=rwtools7 foo.cc                <-- invalid

% CC -library=rwtools7_std foo.cc            <-- valid, standard iostreams
% CC -library=rwtools7_std,iostream foo.cc   <-- invalid

如果同时包含 libCstdlibiostream,必须小心,不要在程序中同时使用新旧格式的 iostream(例如,coutstd::cout)访问同一个文件。如果从传统和标准 iostream 代码访问同一文件,那么在相同的程序中混合标准 iostream 和传统 iostream 可能会出现问题。

不链接 libC 库的兼容模式程序无法使用 C++ 语言的所有功能。与之类似,不链接 Crun 或任何 Cstd 库或 stlport4 库的标准模式程序无法使用 C++ 语言的所有功能。

如果指定了 -xnolib,则忽略 -library