/NODEFAULTLIB (ライブラリを無視する)
更新 : 2007 年 11 月
/NODEFAULTLIB[:library]
解説
指定項目 :
- library
外部参照を解決するときに無視するライブラリを指定します。
解説
/NODEFAULTLIB オプションは、リンカが外部参照を解決するときに検索するライブラリ リストから、検索の必要がない既定のライブラリを 1 つ以上除外します。
既定のライブラリへの参照を含まない .obj ファイルを作成するには、/Zl (既定のライブラリ名の省略) を使用します。
/NODEFAULTLIB は、既定では、外部参照を解決するときに検索するライブラリ リストから、既定のライブラリをすべて除外します。library パラメータ (省略可能) を指定して、外部参照を解決するときに検索するライブラリのリストから、複数のライブラリを指定して除外できます。除外するライブラリごとに /NODEFAULTLIB オプションを 1 つずつ指定します。
リンカが外部参照を解決するときは、まず明示的に指定されたライブラリを検索し、次に /DEFAULTLIB オプションで指定された既定のライブラリを検索します。その後、.obj ファイルで指定された既定のライブラリを検索します。
/NODEFAULTLIB:library と /DEFAULTLIB:library で同じライブラリ名を指定すると、前者の指定が優先されるためそのライブラリは検索されません。
たとえば、/NODEFAULTLIB を使用して C ランタイム ライブラリなしでプログラムをビルドするときは、/ENTRY も使用して、プログラムのエントリ ポイント (関数) を指定することが必要な場合もあります。詳細については、「C ランタイム ライブラリ」を参照してください。
Visual Studio 開発環境でこのリンカ オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「Visual C++ プロジェクトのプロパティの設定」を参照してください。
[リンカ] フォルダをクリックします。
[入力] プロパティ ページをクリックします。
[すべての既定のライブラリの無視] プロパティをクリックするか、無視するライブラリのリストを [特定のライブラリの無視] プロパティで指定します。[コマンド ライン] プロパティ ページに、これらのプロパティに加えた変更内容が反映されます。
このリンカをコードから設定するには
- IgnoreDefaultLibraryNames と IgnoreAllDefaultLibraries を参照してください。