如果使用 -library 指定了库,则在编译期间会设置适当的 –I 路径。在链接期间会设置适当的 –L、–Y P、– R 路径和 –l 选项。
该选项会累积而不覆盖。
在使用区间运算库时,必须包括以下库之一:libC、libCstd 或 libiostream。
使用 -library 选项可确保针对指定库的 -l 选项按正确顺序传送。例如,对于 -library=rwtools7, iostream 和 -library=iostream,rwtools7,-l 选项都是按照 - lrwtool-liostream 顺序传递给 ld。
指定的库在系统支持库链接之前链接。
不能在同一个命令行上使用 -library=sunperf 和 -xlic_lib=sunperf。
不能在同一个命令行上使用 -library=stlport4 和 -library=Cstd。
每次只能使用一个 Rogue Wave 工具库,而且不能将任何 Rogue Wave 工具库与 -library=stlport4 一起使用。
在标准模式(缺省模式)下包含传统 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 |
如果同时包含 libCstd 和 libiostream,必须小心,不要在程序中同时使用新旧格式的 iostream(例如,cout 和 std::cout)访问同一个文件。如果从传统和标准 iostream 代码访问同一文件,那么在相同的程序中混合标准 iostream 和传统 iostream 可能会出现问题。
既未链接 libC 也未链接 libCrun 的程序可能无法使用 C++ 语言的所有功能。
如果指定了-xnolib,则忽略 -library。