WinXP SP3でCMakeバージョン2.8を使用しています。 CMakeListsスクリプトをデフォルトで実行するたびに、CMakeはVisual Studio 10コンパイラを使用します。私がやろうとしました:
SET( CMAKE_CXX_COMPILER "C:/MinGW/bin/g++" )
成功せずに。 CMakeListsでコンパイラを設定する必要がないように、MinGWをデフォルトのコンパイラとして設定するにはどうすればよいですか?
CMakeバージョン3.15以降では、 CMAKE_GENERATOR
システムで使用されるデフォルトのジェネレーターを指定する環境変数。
Windows CMakeでは、CMakeの呼び出し時にジェネレーターが明示的に指定されていない限り、デフォルトのジェネレーターとして 最新のVisual Studioインストールを使用 が使用されます。この動作はハードコーディングされており、変更できません。
回避策として、cmake.bat
というタイトルのバッチラッパースクリプトを次の内容で使用できます。
@cmake.exe -G "MinGW Makefiles" %*
スクリプトは、システムPATH上のディレクトリに配置し、CMake実行可能ファイルcmake.exe
よりも優先する必要があります。
このスクリプトは、MinGWをジェネレーターとしてcmake.exe
を呼び出し、他のすべてのパラメーターをそれに転送します。
ツールチェーン/出力形式を設定する必要があるのは1回だけです。通常は、初めてcmakeを実行するときにこれを行います。
cmake -G "MinGW Makefiles" .
ドットの代わりに、独自のパラメーター(存在する場合)および/またはソースへのパスを使用できます。
別の方法として、特にCMakeを初めて使用する場合は、WindowsでGUIバージョンを使用します(cmake
の代わりにcmake-gui
をパラメーターなしで実行します)。
開いたら、パスを設定し、「構成」をクリックします。コンパイラセットがない場合は、コンパイラを選択するように求められます(そうしないと、キャッシュをクリアして再表示する必要があります)。
更新された構成値は赤で表示され、一般的なWindowsダイアログボックスを使用してファイルとパスを選択することもできます。
構成が完了し、エラーがなければ、「生成」をクリックしてメイクファイルまたはプロジェクトファイルを作成できます。これらを後で更新するには、cmake-gui
を再度使用するか、通常のコマンドラインバージョンcmake
を使用します。