1

私は次のディレクトリ構造を持っており、Qt.priファイルを使用して物事を単純化したいと思います。

Project1/
    project1.pro
    main.cpp
    Algorithms/
        algorithm1.h
        algorithm1.cpp
        ...
        // add an algorithms.pri file here
    Utilities/           
        utiliy1.h
        utiliy1.cpp
        ...
        // add an utilities.pri file here
    Gui/
        gui1.h
        gui1.cpp
        ...
        // add a gui.pri file here

AlgorithmsUnitTest/
     algorithms_unit_test.pro
     main.cpp

UtilitiesUnitTest/
     utilities_unit_test.pro
     main.cpp

私が解決しようとしている問題の1つはAlgorithmsUtilitiesまたはGuiフォルダーの1つからソースファイルを追加または削除するときに、他のすべての.proファイルからそれを削除する必要があることです。

.priフォルダごとに、そのフォルダ内のソースファイルとヘッダーファイルを含むファイルを作成したいと思います。これらのファイルは、他のすべてのプロジェクトから含まれます。次に、ソースファイルまたはヘッダーファイルを追加/削除すると、対応する.priファイルからのみ削除されます。

このアプローチの問題は、.priファイルにファイルを含めることが.pro単純なコピーアンドペーストであるということです。つまりalgorithms_unit_test.pro、ファイルが含まれている場合、qmakeビルドシステムは存在しないフォルダー内algorithms.priのファイルを検索します。AlgorithmsUnitTest/Algorithms

.pri解決策は、ファイルの内容の前に次のように追加することです。

../Project1/

しかし、私はこれを行う方法がわかりません。それを行う方法を教えてもらえますか、または私のプロジェクトを整理するための他の方法を提案していただけますか?

4

1 に答える 1

2

PWD.priファイルでqmake変数を使用できます。

Algorithms.pri

SOURCES      += $$PWD/algorithm1.cpp
HEADERS      += $$PWD/algorithm1.h

Utilities.pri

SOURCES      += $$PWD/utiliy1.cpp
HEADERS      += $$PWD/utiliy1.h

..。

http://doc.qt.digia.com/qt/qmake-variable-reference.html

于 2013-02-08T09:46:24.943 に答える