/NODEFAULTLIB
(ライブラリを無視)
/NODEFAULTLIB
リンカー オプションは、外部参照を解決するときに検索するライブラリの一覧から 1 つ以上の既定のライブラリを削除するようにリンカーに指示します。
構文
/NODEFAULTLIB
[:
library
]
引数
library
リンカーが外部参照を解決するときに無視する省略可能なライブラリ名。
解説
既定のライブラリへの参照を含まない .obj
ファイルを作成するには、 /Zl
(既定のライブラリ名を省略) を使用します。
既定では、 /NODEFAULTLIB
は、外部参照を解決するときに検索するライブラリの一覧からすべての既定のライブラリを削除します。 省略可能な library
パラメーターを使用すると、外部参照を解決するときに検索するライブラリの一覧から、指定したライブラリを削除できます。 除外するライブラリごとに 1 つの /NODEFAULTLIB
オプションを指定します。
リンカーは、最初に明示的に指定したライブラリ、次に /DEFAULTLIB
オプションで指定された既定のライブラリ、次に .obj
ファイルで指定された既定のライブラリで検索することで、外部定義への参照を解決します。
/NODEFAULTLIB:
library
は、両方で同じlibrary
名が指定されている場合に/DEFAULTLIB:
library
をオーバーライドします。
/NODEFAULTLIB
を使用して C ランタイム ライブラリなしでプログラムをビルドする場合は、/ENTRY
オプションを使用してプログラムのエントリ ポイント関数を指定する必要がある場合もあります。 詳しくは、「CRT ライブラリの機能」をご覧ください。
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳しくは、「コンパイラとビルドのプロパティを設定する」をご覧ください。
[構成プロパティ]>[リンカー]>[入力] プロパティ ページを選択します。
既定のすべてのライブラリの配置プロパティを変更します。 または、[特定の既定のライブラリの無視] プロパティで、無視するライブラリのセミコロン区切りのリストを指定します。 Linker>Command Line プロパティ ページには、これらのプロパティに加えた変更の効果が表示されます。
[OK] または [適用] を選択して、変更内容を保存します。
このリンカーをコードから設定するには
- IgnoreDefaultLibraryNames と IgnoreAllDefaultLibraries を参照してください。