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

我要解决的问题之一是,当我从一个或多个文件夹中添加或删除源文件时AlgorithmsUtilitiesGui必须从所有其他.pro文件中删除它。

我想.pri为每个文件夹创建一个文件,其中包含该文件夹中的源文件和头文件。这些文件将包含在所有其他项目中。然后,如果我添加/删除源文件或头文件,我只会从相应的.pri文件中删除它。

这种方法的问题在于,在.pri文件中包含.pro文件只是简单的复制粘贴。也就是说,如果algorithms_unit_test.pro包含algorithms.pri文件,qmake 构建系统将在不存在的AlgorithmsUnitTest/Algorithms文件夹中查找文件。

.pri解决方案是在文件的内容前面加上

../Project1/

但我不知道该怎么做。请问你能教我怎么做或建议一些其他的方式来组织我的项目吗?

4

1 回答 1

2

PWD您可以在您的 .pri 文件中使用 qmake 变量。

算法.pri

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

实用程序.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 回答