0

Qt Creatorプロジェクトのグループを設定しようとしていますが、それらの間でいくつかのカスタムライブラリが共有されています。これらはすべてC++11とBoostを使用し、Gitリポジトリで管理されます。

現在、CMakeとシンボリックリンクを使用しています。したがって、既存のディレクトリ構造はおおよそ次のようになります。

projects/
    libraryOne/
        include/
            libraryOne/ ; Parent in -I paths, then #include "libraryOne/foo.h"
        src/
    libraryTwo/
        include/
            libraryTwo/
        src/
        libraryOne/ ; symbolic link
    libraryThree/
        include/
            libraryThree/
        src/
        libraryTwo/ ; symbolic link
    applicationOne/
        CMakeLists.txt
        libraryOne/ ; symbolic link
        libraryTwo/ ; symbolic link
        libraryThree/ ; symbolic link
        build/
    applicationTwo/
        CMakeLists.txt
        libraryOne/ ; symbolic link
        libraryTwo/ ; symbolic link
        libraryThree/ ; symbolic link
        build/
    applicationThree/
        CMakeLists.txt
        libraryOne/ ; symbolic link
        libraryTwo/ ; symbolic link
        libraryThree/ ; symbolic link
        build/

特定のアプリケーションをビルドするにはbuild/、そのアプリのサブディレクトリに移動して実行cmake ..し、からmakefileを生成しますCMakeLists.txt(そのため、すべての仲介者とビルド製品が下に配置されますbuild/)。次に、実行しmakeます。

これは、この特定のセットアップがどのように進化したかであり、かなり不格好です。CMakeの依存関係を削除し、Qt Creatorを使用しgit cloneて個々のソースリポジトリ(1つ以上のアプリケーション)に簡単にアクセスできるようにし、.proファイルを読み込んでから、[ビルド]を押して動作させます。

その他の願い:

  • シンボリックリンクを作成する必要はありません
  • ファイルの追加と削除は、makefileを編集せずにGUIで実行できる必要があります
  • アプリケーションをエディターにロードすると、ライブラリも編集できるようになり、ビルドの依存関係が自動的に処理されるようになります。
  • デバッグモードでは、任意のライブラリにブレークポイントを設定でき、環境はそのライブラリで停止できます。
  • ソースコードのサブディレクトリではないディレクトリにオブジェクトファイルと実行可能ファイルを配置します

このような「クリーンな」例があるかどうか疑問に思っています...QtCreatorの世界で従うべき良い例はありますか?.proファイルがこの種のクロスプラットフォームを自動的に処理することを期待するのは野心的すぎますか?

4

1 に答える 1

1

.pro ファイルは実際にそれを処理します。私は別の質問でそれを行う方法に答えました。

于 2012-06-13T02:39:21.137 に答える