2012-03-26 9 views
9

の連続5日間使用しています。私は、sdl、glm、openglなどのライブラリを使ってプログラミングするためのC++環境でコンピュータをセットアップしようとしています。私たちにとって重要なのは、プレゼンテーションのUNIXマシン上で実行することができるようにすることです。 私はついにそれをcmake-guiと一緒に使うようになりました。私はもうIDEで何もしようとはしません。Windows用cmakeをC++用

私は私のフォルダプロジェクトを指定し、バイナリをビルドする場所はtxt "CMakeCache"、CMAKEファイル "cmake_install.cmake"、ファイル "Makefile"と共にフォルダ "CMakeFiles"を持っています。私のフォルダ "CMakeFiles"には "CMakeTmp"、 "CompilerIdC"、 "CompilerIdCXX etc"のようなフォルダがあり、両方のフォルダ "Compiler *"にはそれぞれの.exeファイルがあります!私の実行可能ファイルはどこにありますか?

私はcmdを開いて自分のフォルダに移動し、intructionに従って "make"を書き込もうとしました。悲しいかな、それはうまく動作しませんでした。あなたの知恵を分かち合い、私のような初心者を助けてくれることを願って!

したがって、追加のライブラリを含むプロジェクトをコンパイルするためには、正確に何が必要ですか?これまで私はコンパイラMingw32、最新のCMakeを持っていて、バイナリを抽出するためにcmake-guiを使っていましたが、makefileを取得しています。

編集: hrrm。この種の問題を抱えるのは私だけですか?

  • 例えば、C上のフォルダを作成し
  • 最新のSDLをダウンロードしてください:私は、約10のチュートリアルやステップの90%が(私が最初に試したVSでコンパイルする場合)に類似しているが徹底的に見ていることを追加することができます。ダウンロードSDL
  • から\ 2つのフォルダとSDL、含まとlib
  • コピーLIBSと含まれ、プロジェクトVS新しい、オープンVC++ディレクトリを作成し、例えばC上のlib /税込フォルダを追加します。リンカに追加
  • \ SDL SDL.libとSDLmain.lib(私は彼らがリンクしていることを確認しました、問題はありません)
  • (あなたは2つのウィンドウたくない場合は、オプションの)WINDOWSへ
  • 変更システム
  • 追加は「追加のライブラリ」
  • 私のCに(私は最新のSDLからもらった)SDL.dllファイル入れに含まれます:\ WINDOWSを\ system32(64SysWoW) また、私のプロジェクトファイルにもあります。

ので、私が実際に探しています、それが正常にソースを生成し、構築するため、(GUIで)、​​動作するようにCMakeのをgettningと私はイムで閉じ感じる。私は、SDLからの任意の追加のライブラリを追加する必要があります私のコンパイラmingw32および/またはcmakeに?

+0

それは間違った上で起こっている内容を正確に把握するのは難しいですここに。チュートリアルの手順1をhttp://www.cmake.org/cmake/help/cmake_tutorial.htmlから複製し、それがうまくいくかどうか確認してください。そうでない場合は、動作していないものを正確に投稿してください。 – jkerian

+0

CMakeを使用してプロジェクトのVisual Studioプロジェクトファイルを生成し、Visual Studioを使用してコンパイルします。 – karlphillip

+0

@karlphillip私もそれを(vs 10で表現して)実行し、コンパイルされたファイルを実行し、ファイルを構築して「1成功、e 0失敗、1最新、1スキップ」を得ました。私は得ました: C:\ .......... \ Debug \ ALL_BUILD指定されたファイルが見つからない –

答えて

5

あなたはVisual Studioにほとんどいました。 Visual Studioをターゲットとして選択します。 Visual Studioで生成されたプロジェクトを開き、ビルドします。 (ちょうどあなたがそうしたように)。次に、BUILD_ALLを実行しようとする代わりに、実行可能ファイルを作成する実際のプロジェクトを実行します。また、そのリストにも存在する必要があります。ちょうどそれを右クリックし、それを '再生'します。

まだエラーが発生した場合は、エラーの前に行ったことを含め、詳細に投稿してください。注意:慎重に構成されたクロスプラットフォームのCMakeプロジェクト(別名CMakeLists.txt)は、VC++ディレクトリでの手作業を必要としません。それは自動的に、特にSDLのようなよく知られたライブラリで動作するはずです。

+0

うわー、実際に働いた。私はこのubuntuでVSプロジェクトを実行する必要があるとき、私はちょうどプロジェクトフォルダ全体をコピーし、うまくいけばうまくいけば問題なく再コンパイルできますか? –

+0

'プロジェクトフォルダ'の定義に依存します:) :) Cmakeは、ソースファイルとCMakeLists.txtを含むディレクトリでCMakeを実行します。プラットフォームに応じていくつかのプロジェクトファイルを生成します。生成されたプロジェクトファイルを使用して、IDEまたは他のツールを実行してプロジェクトをコンパイルします。 (Make + GCC、Visual Studioなど) – Bob

+0

Yaman:すべてのCMakeFilesをコピーし、Ubuntuの下で再度cmakeを実行する必要があります。 2つの異なるシステムに同じバージョンのライブラリを同じ場所にインストールすることは期待できません。 CMakeは、この理由から、異種環境でのプロジェクト構成を可能にするためです。 – stativ

1

私が正しく理解していれば、プロジェクトでCMakeを使いたいと思っています。私はすべてのプロジェクトでCMakeを使用しています。私はアーチLinuxを使用しているので、私はあなたに正確な段階的なハウツーを与えませんが、Windows 7でもそれを使用しました。

  1. CMakeのは、ライブラリを検索できるようにするには、多くの場合、それはあなたのプロジェクトの依存関係がインストールされているディレクトリを指すようCMAKE_PREFIX_PATH環境変数を設定するために必要とされます。
  2. PATH環境変数を設定することで、コンパイラを起動して、例えばegなどを呼び出すことで呼び出すことができます。 make.私はあなたがMingw32のために手動で行う必要があると思う、Visual Studioのために、これらの変数が既に設定されている "Visual Studioコマンドプロット"を使用することができます。
  3. CMakeを希望のジェネレータで実行します。コマンドラインからジェネレータを選択するには、-Gスイッチを使用します。おそらくcmake -G "NMake Makefiles" ...

    を使用するVisual StudioのからNMAKEのためにcmake -G "MinGW Makefiles" ...

    を使用MinGWのに使用しますGNUについて

    (...あなたはcmakeのに渡したい他のオプションを意味します)、次のいずれかを使用しますVisual Studioプロジェクトを作成することもできますが、自動ビルドをセットアップすることは非常に難しいため、推奨しません。私はまた、VSプロジェクトを使用しようとしたときに、依存関係にいくつか問題がありました。ビルドディレクトリに

  4. チェンジディレクトリ(つまり、あなたがcmakeと呼ばれる1、それはCMakeCacheファイルが含まれています。)と、コマンドによってcmakeのを実行する場合makenmake
4

を実行します。

cmake -G "Visual Studio 14 Win64" path\to\source\dir 

あなたは(をプロンプトのVisual Studioコマンドで)続行するには、このコマンドを実行する必要があります。

msbuild Project.sln 

どちらかあなたはcmakeの実行する場合:

cmake -G "NMake Makefiles" path\to\source\dir 

をあなたが(をプロンプトのVisual Studioコマンドで)続行するには、このCMDを実行する必要があります。

nmake 
関連する問題