2016-06-27 11 views
1

MinGWをコンパイラとして使用して、Windowsでcmakeを作成するhello worldテストを行っています。 This answer以下のよう-Gフラグを付けてcmakeを実行することを提案:私はこれを行う場合Windowsの下でMSYS2経由でインストールされたcmake 3.5.2を使用すると、MinGW Makefilesジェネレータが見つかりません。

cmake -G "MinGW Makefiles" . 

はしかし、私はそれが知られている発電機ではないというメッセージを取得します。

enter image description here

を、あなたが見ることができるよう、「MinGWのメイクファイルは、」記載されていません: は確かに、それは以下の発電機を示していますジェネレータセクションの下で、cmake --helpを実行しています。

これが関連している場合、私はMinGWを通常のフォルダC:\MinGWにインストールして動作させています。私はまた、MinGW-w64をWinBuildsとMSYS2を介して、デフォルトのインストールフォルダにインストールしています。 私はMSYS2を通じてインストールされたcmake version 3.5.2を使用しています。

"MinGW Makefile"がジェネレータの中に表示されないのはなぜですか?

答えて

3

Windows版のCMakeは、MinGW MakefilesMSYS Makefilesジェネレータしか認識していません。

MinGW/MSYS CMakeバージョンをダウンロードした場合は、Unix Makefilesジェネレータを使用するか、-Gオプションを使用しないでください(コンパイラツールチェーンを自動検出するため)。

まだエラーが発生した場合は、下の参考情報を参照してください。

参照理にかなって

+0

おかげで、。私がそのフラグを使用しようとした理由は、CMakeが 'CMakeLists.txt'ファイルで指定したMSYS2で得られたmingw64 gccコンパイラであるCコンパイラを認識しないためです。 MSYS2で提供されている他のツールを使用したいとは思っても、公式のウェブサイトから入手した 'cmake'を使ってMakefileをビルドできますか? – glS

+0

@glS私が提供した最初のリファレンスのように 'pacman'を介してCMakeをインストールしましたか?そして、はい、私は[Official Windows CMake version](https://cmake.org/download/)のみをダウンロードしてインストールし、MSYSから 'cmake'を呼び出し、これまでに何の問題も発生していません。あなたのCMake/MinGW/MSYSインストールの基本的なサニティチェックについては、[ここ](http://stackoverflow.com/questions/32801638)を参照してください。そして私はあなたの 'CMakeLists.txt'ファイルであなたのGCCコンパイラを指定することに関するあなたのコメントを理解していないことを認めます。あなたがしてはいけない何かのような音。そのスクリプト部分をあなたの質問にも追加してください。 – Florian

+0

はいMSYSシェルが提供する 'pacman'を介してインストールしました。私は 'cmake'の公式Windows版をインストールしました。これは、あなたの[リンクされた回答](http://stackoverflow.com/a/32830625/4063051)のポイント1で提供しているVSの最も簡単な例で動作します。これは間違いなく進歩ですが、今私はMSYSを介してインストールされたmingwを使用しようとします。再度、感謝します! – glS

関連する問題