• 締切済み

Windows上でのCmakeの実行(g++で)

main.cpp, hello.cppのファイルがあり、以下のようにコンパイルして実行できます。 > g++ -c main.cpp hello.cpp # ソースファイルをコンパイルしてオブジェクトファイル(main.o, hello.o)を生成 > g++ -o a.out main.o hello.o # オブジェクトファイルをリンクしてa.outという実行ファイルを生成 これと同じことをcmakeでやることを考えました。手順は以下のようです。 CmakeをインストールしてCMakeLists.txtを上記ソースと同じところに作成しました。 CMakeLists.txtは以下の通りです。 # CMakeのバージョンを設定 cmake_minimum_required(VERSION 2.8) # プロジェクト名と使用する言語を設定 CXXとは?Visual Studioでしょうか。g++ではどうやるのでしょうか。 project(test_cmake CXX) # a.outという実行ファイルをmain.cppとhello.cppから作成 add_executable(a.out main.cpp hello.cpp) main.cpp, hello.cpp,CMakelists.txtが保存されているフォルダ上で、以下の操作をしました。 > mkdir build > cd build > cmake .. 正常に動作しているようです。 > make ←makefileがないので実行できない(そうだろうと思います)これも問題だと思います。makeがないのに。またこのmakeってどこから提供されるものでしょうか。 この手順だと、a.outを作成してくれるはずですが、a.out.vcxprojのようなファイルが出ています。visual studioなのでそうなるだろうとは思いますが。 予定どおり、g++が実行され、a.outが出力されるようにするにはどうしたらいいでしょうか。

みんなの回答

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.2

申し訳ありません。 何をとち狂ったのか、GNU makeについて知りませんかという疑問が出ること自体が質問をきちんと読めていませんね。 その最後の発言は狂ってますが、他のcmake自体に関することは間違ったことは書いていません。

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.1

https://gitlab.kitware.com/cmake/community/wikis/FAQ#how-do-i-use-a-different-compiler cmakeはツールを自動判定して動きます。 その判定にはcmakeに含まれているスクリプトが使われていて、そのスクリプトの書式で判定処理を自前で用意したり代替判定をさせたりできるようになっている分、前提となるルールがありますから、そのルールをここで訊いてやるよりも上記の公式サイトを読むか自力でスクリプトを解析するか(c:\program files\cmakeの下に各種スクリプトもインストールされている)本を買った方が良いと思います。 そのくらい質問していては埒があきません。 しかしg++を使おうとしていてGNU makeの存在を知りませんか?

関連するQ&A