/Fo
(オブジェクト ファイル名)
既定値の代わりに使用する、オブジェクト (.obj
) ファイルの名前またはディレクトリを指定します。
構文
/Fo"pathname"
/Fo:[ ]"pathname"
解説
/Fo
コンパイラ オプションを使用すると、CL コンパイラ コマンドによって生成されるすべてのオブジェクト ファイルの出力ディレクトリを設定できます。 または、これを使用して、単一のオブジェクト ファイルの名前を変更することもできます。 /Fo
オプションと pathname
引数の間にスペースを入れないでください。
既定では、コンパイラによって生成されるオブジェクト ファイルは、現在のディレクトリに配置されます。 ソース ファイルのベース名と .obj
拡張子が指定されます。
/Fo
オプションを使ってオブジェクト ファイルの名前を変更するには、出力ファイル名を pathname
引数として指定します。 オブジェクト ファイルの名前を変更する場合は、任意の名前と拡張子を使用できますが、.obj
拡張子を使うことをお勧めします。 コンパイルするソース ファイルを複数指定したときに、ファイル名を /Fo
に指定すると、コンパイラによってコマンド ライン エラー D8036 が生成されます。
/Fo
オプションを使って、CL コマンドによって作成されるすべてのオブジェクト ファイルの出力ディレクトリを設定するには、ディレクトリを pathname
引数として指定します。 pathname
引数の末尾にスラッシュを付けて、ディレクトリであることを示します。 引用符で囲まれたパスを使っている場合は、エスケープされたバックスラッシュ (二重バックスラッシュ) を使います。 ディレクトリ パスは、絶対パス、またはソース ディレクトリを基準とした相対パスとして指定できます。 指定するディレクトリは存在する必要があります。存在しない場合、コンパイラからエラー D8003 が報告されます。 ディレクトリは自動的には作成されません。
例
このコマンド ラインは、/Fo
オプションと pathname
引数の間に省略可能なスペースを使用できる形式の例を示しています。 これにより、現在のディレクトリに test.obj
というオブジェクト ファイルが作成されます。
CL /Fo: "test" /EHsc /c sample1.cpp
次のコマンド ラインにより、既存のディレクトリ D:\intermediate\
に sample1.obj
と sample2.obj
というオブジェクト ファイルが作成されます。 引用符で囲まれたパス内のパス セグメント区切り記号として、エスケープされたバックスラッシュ文字が使われています。
CL /Fo"D:\\intermediate\\" /EHsc /c sample1.cpp sample2.cpp
このコマンド ラインにより、ソース ディレクトリを基準にした既存のディレクトリ output\
に sample1.obj
と sample2.obj
というオブジェクト ファイルが作成されます。
CL /Fooutput\ /EHsc /c sample1.cpp sample2.cpp
Visual Studio またはプログラムでオプション設定する
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[C/C++]>[出力ファイル] のプロパティ ページを選択します。
[オブジェクト ファイル名] プロパティを変更して出力ディレクトリを設定します。 IDE では、オブジェクト ファイルの拡張子は
.obj
にする必要があります。
このコンパイラ オプションをコードから設定するには
- 以下を参照してください。ObjectFile
関連項目
出力ファイル (/F
) オプション
MSVC コンパイラ オプション
MSVC コンパイラのコマンド ライン構文
パス名の指定