/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.objsample2.obj というオブジェクト ファイルが作成されます。 引用符で囲まれたパス内のパス セグメント区切り記号として、エスケープされたバックスラッシュ文字が使われています。

CL /Fo"D:\\intermediate\\" /EHsc /c sample1.cpp sample2.cpp

このコマンド ラインにより、ソース ディレクトリを基準にした既存のディレクトリ output\sample1.objsample2.obj というオブジェクト ファイルが作成されます。

CL /Fooutput\ /EHsc /c sample1.cpp sample2.cpp

Visual Studio またはプログラムでオプション設定する

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

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

  2. [構成プロパティ]>[C/C++]>[出力ファイル] のプロパティ ページを選択します。

  3. [オブジェクト ファイル名] プロパティを変更して出力ディレクトリを設定します。 IDE では、オブジェクト ファイルの拡張子は .obj にする必要があります。

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

関連項目

出力ファイル (/F) オプション
MSVC コンパイラ オプション
MSVC コンパイラのコマンド ライン構文
パス名の指定