-qlib和 -qnolib (-nodefaultlibs)
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qlib, -qnolib | ✓ | ✓ | ✓ | ✓ |
-nodefaultlibs | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
指定是否链接标准系统库和 XL C/C++ 库。
当 -qlib 生效时,将自动链接标准系统库和编译器库。 当 -qnolib 生效时,不会在链接时使用标准系统库和编译器库; 将仅链接在命令行上使用 -l 标志指定的库。
此选项可用于系统编程,以禁用不需要的库的自动链接。
语法
缺省值
-qlib使用量
使用 -qnolib 指定不链接任何库,包括系统库以及 XL C/C++ 库 (这些库位于编译器安装目录的 lib/aix61 子目录中)。 系统启动文件仍处于链接状态,除非还指定了 -qnocrt 。
注: 如果程序引用标准库或特定于编译器的库中定义的任何符号,那么将发生链接错误。 在使用 -qnolib进行编译时,要避免这些未解析的引用,请确保使用命令标志 -l 和库名来显式链接所需的库。
预定义的宏
无。
示例
要编译
myprogram.c
而不链接到除编译器库 libxlopt.a以外的任何库,请输入:xlc myprogram.c -qnolib -lxlopt