/Zl (既定のライブラリ名の省略)

.obj ファイルの既定の C ランタイム ライブラリ名を省略します。 既定では、コンパイラでライブラリ名が .obj ファイルにプッシュされ、リンカーに適切なライブラリが示されます。

構文

/Zl

解説

既定のライブラリについて詳しくは、「ランタイム ライブラリの使用」をご覧ください。

/Zl は、ライブラリに格納する .obj ファイルをコンパイルするために使用できます。 ライブラリ名を省略することで節約される領域は、1 つの .obj ファイルについてはわずかですが、多くのオブジェクト モジュールを含んだライブラリでは、合計での節約領域が大きなものになります。

このオプションは拡張オプションです。 このオプションを設定すると、アプリケーションで必要になる可能性がある、特定の C ランタイム ライブラリのサポートが削除されるため、アプリケーションがそのサポートに依存している場合には、リンク時エラーが発生します。 このオプションを使用する場合は、必要なコンポーネントを他の方法で提供する必要があります。

/NODEFAULTLIB (ライブラリを無視する) を使用すると、 すべての .obj ファイル内のライブラリ参照を無視するようにリンカーを設定できます。

詳しくは、「CRT ライブラリの機能」をご覧ください。

/Zl を使用してコンパイルを行う際には、_VC_NODEFAULTLIB が定義されます。 次に例を示します。

// vc_nodefaultlib.cpp
// compile with: /Zl
void Test() {
   #ifdef _VC_NODEFAULTLIB
      int i;
   #endif

   int i;   // C2086
}

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[C/C++]>[詳細] プロパティ ページを選択します。

  3. [既定ライブラリ名の省略] プロパティを変更します。

このコンパイラ オプションをコードから設定するには

関連項目

MSVC コンパイラ オプション
MSVC コンパイラ コマンド ラインの構文