我有fololowing目录结构,我想使用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
我想解决的一个问题是,当我从Algorithms
,Utilities
或Gui
文件夹之一添加或删除源文件时,我必须删除来自所有其他.pro
文件。
我想为包含该文件夹中的源文件和头文件的每个文件夹创建一个.pri
文件。这些文件将包含在所有其他项目中。然后,如果我添加/删除源文件或头文件,我只会从相应的.pri
文件中删除它。
这种方法的问题是在.pri
文件中包含.pro
文件只是一个简单的复制粘贴。也就是说,如果algorithms_unit_test.pro
包含algorithms.pri
文件,则qmake构建系统会在不存在的AlgorithmsUnitTest/Algorithms
文件夹中查找文件。
解决方案是使用
预先添加.pri
文件的内容
../Project1/
但我不知道该怎么做。请问您能教我如何做或建议其他方式来组织我的项目吗?
答案 0 :(得分:2)
您可以在.ps文件中使用qmake变量PWD
。
<强> algorithms.pri 强>
SOURCES += $$PWD/algorithm1.cpp
HEADERS += $$PWD/algorithm1.h
<强> utilities.pri 强>
SOURCES += $$PWD/utiliy1.cpp
HEADERS += $$PWD/utiliy1.h
...