web-dev-qa-db-ja.com

Qt CreatorでCmakeを使用する

Qt creatorCmakeを一緒に使用したいと思います(私のモチベーションについて質問しないでください。これを与えられたものとして受け入れてください。)

Cmake "Cmake"を使用するようにQtクリエーターを正常に設定しました。その方法については、 thisthis および this のドキュメントを参照してください。

hello worldプロジェクトを正常に作成しましたが、プロジェクトでファイルを作成できません。既存のファイルをプロジェクトツリーに追加し、その後cmakeリストに追加するだけです。 Qtクリエーターの「新規追加...」の標準操作が機能せず、理由がわかりません。

Qtクリエーターと「Cmake」を一緒に使う人はいますか?実際に組み合わせは可能ですか?

注:私はQt Creator v2.4.1を使用しています。

21
themean

次のように、CMakeLists.txtでグロブ式を使用してファイルを追加できます。

file(GLOB SRC . *.cpp)
add_executable (your_exe_name ${SRC})

Cmakeは次に実行するときに新しいcppファイルを選択し、QtCreatorはそれらをプロジェクトブラウザーに表示します。

更新

この解決策は役立つかもしれませんが、コメントで述べたように、これは良い方法ではありません。誰かが新しいソースファイルを追加して変更をコミットするたびに、すべてのソースをビルドするためにcmakeを再実行する必要があります。通常、リポジトリから最近の変更をプールした後にビルドが壊れた場合、CMakeLists.txtファイルの1つをtouchします。その後、makeは自動的にcmakeを実行し、手動で実行する必要はありませんでした。それにもかかわらず、CMakeLists.txtの明示的なソースリストは良いことだと思いますが、それらはCMake Listsと呼ばれています。理由。

14
Evgeny Lazin

[新しいファイルまたはプロジェクト...]ダイアログを使用してQtCreatorに新しいファイルを追加すると、ディスク上にファイルが作成されるだけで、CMakeLists.txtにファイルが自動的に追加されることはありません。 CMakeLists.txtファイルを編集して、手動でこれを行う必要があります。

次回プロジェクトをビルドするときに、CMakeが再実行され、QtCreatorが新しいファイルを取得してプロジェクトブラウザに表示します。

10
alanxz

標準の方法(CTRL + N)で新しいファイルを追加し、次に必要なファイルをCMakeListsに追加するというこの問題を解決します。その後、プロジェクトツリービューでプロジェクトを右クリックし、[CMakeの実行]オプションを選択します。この後、ファイルはプロジェクトリストツリーに表示されました。ビルドだけでは不十分でした。

5
chao

ここでテストを行ったところ、同じ動作が発生しました。なぜなら、要求していたオプションが本当に無効になっていたからです。

[ファイル]-> [新しいファイルまたはプロジェクト...]またはCTRL + Nを使用して新しいファイルを追加し、その後CMakeLists.txtに追加します。

2
para.cavalcante

QtCreator(4.x)の新しいバージョンの更新された回答を追加します。 ツール>オプション...メニューで、ビルドと実行セクションを選択し、次にCMakeタブを選択します。 ファイルの追加設定が表示され、ファイルパスのコピーに設定できます。

このように、プロジェクトに新しいファイルを追加する場合は、Projectビューで、目的のCMake実行可能ファイル/ライブラリの名前を右クリックして、Add New ...を選択します。 =、ダイアログを追加を通過し、ダイアログを検証すると、QtCreatorがCMakeLists.txtEditorビューで開きます。最後に、対応するソースファイルリストの最後にクリップボードの内容を貼り付け、保存しますCMakeLists.txt。 CMakeプロジェクトが解析され、新しいファイルがProjectビューに表示されます。

1
aTom