2013-11-26 8 views
7

私はWindowsで楔形構造を構築しようとしています。私はCMakeを使用してビルドを生成し、MinGW Makefilesオプションを選択します。MinGW CMake Makefilesからcmd.exeを使用しようとしています

内部的には、MakefileにはUNIX形式ではなくDOS C:\ pathname形式のパスがあり、SHELLはcmd.exeに設定されています(MinGWのbinディレクトリにはcmdスクリプトがありますがcmd.exeはありません)。

C:\MinGWzmsys\1.0\bin\bash.exeをダブルクリックしてbashを開始します。次に実行しようとすると:

bash.exe"-3.1$ cd /c/cuneiform/build/ 
bash.exe"-3.1$ make 
Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 
c:\cuneiform\build> 

私はbashに戻るには、3回終了する必要があります!どうして?

私は、UNIXスタイルのパスを使用してshを呼び出すMakefileを生成しようとしましたが、何らかの理由でそれを行うためにCMakeを取得できません。

理想的には、これをbashまたはDOS内から試すべきですか?私がDOSから(パス= C:\ MinGW \ msys \ 1.0 \ bin; C:\ Windows \ System32への最小パスを設定した後に)試しても同様のやり方で死亡します。

私は通常、HP-UXやWindowsではJavaのもとでC++を書いているので、MinGWとCMakeは私にとって初めてのことです。シェルはcmd.exeMSYS Makefilesときにシェルがsh.exeとき

+4

'cmake ... -G" MSYS Makefile "..." + 'make'または' cmake ... -G "MinGW Makefile" ... "+' mingw32-make'です。 –

答えて

7

cmake docによると、Windows上で、 MinGW Makefilesを使用する必要があります。

を試してみてください。cmake -G "MinGW Makefiles"の場合は、bashシェルの内部でエラーが発生するため、環境に合ったものにする必要があります。あなたのプロジェクト(grep、sedなど)をビルドするためのUnixツールが必要ない場合は、実際にbashを実行する必要はありません。

私の経験上、TDM GCCスイートは、Unixの環境やツールに興味がなく、コンパイラだけが必要な場合にうまく機能することがわかりました。

関連する問題