简洁版本
同一文件夹下是否可以有两个 .pro 文件?
详细版本
我正在尝试使用 QtTest 为我的一个项目编写单元测试。该项目是插件加载器,它只加载插件。所以我的项目文件夹看起来像:
- PluginLoader
| PluginLoader.pro
|+bin // where I have my binary
|+build // where I have moc and .o
|+src // the actual src for the PluginLoader
|+test // some test while I'm developing
|-unitTest
| unitTest.pro
| UnitTest.cpp
| UnitTest.h
|-SamplePlugins
| SamplePluginONE.cpp
| SamplePluginONE.h
| SamplePluginTWO.cpp
.
.
.
我知道首先想到的就是将文件放入.pro
文件SamplePlugins
夹中,但我不能这样做。原因是,我应该使用.pro
3 种不同类型的模板文件:
- 子目录模板,只包含
PluginLoader.pro
. 基本上它告诉 Qt 查看那里为某些 .pro 文件提供的子目录。 - 应用程序模板,生成二进制文件并放入
bin
文件夹。我的test
文件夹里有。 - 库模板,生成 .so 并将其放在其他路径中。
src
我在我的文件夹中使用这个
现在,如果我想测试只加载一些插件的应用程序,我需要一些插件。这就是为什么我在SamplePlugins
文件夹下有文件unitTest
夹的原因。
UnitTest.pro
必须来自“应用程序”.pro 模板,以便生成 unittest 二进制文件。并且插件示例应该有“库”.pro,以便它们生成“.so”。这就是我的困境。如果我将“库”.pro 文件放入,SapmlePlugins
那么它将不会被解析,因为它的父文件夹没有“子目录”.pro。
我想到克服这个问题的唯一方法是在 .pro 文件中有一个“子目录”.pro 文件unitTest
。然后在下面创建另一个文件夹unitTest
并调用它theActualUnitTest
并将带有“应用程序”.pro 文件的实际单元移动到其中。SamplePlugins
并在文件夹中创建一个“库”.pro 。但是,我不能这样做,因为我不能更改文件夹,因为我们在同一个文件夹结构中有许多其他项目,并且一些脚本可以做一些事情......所以改变文件夹结构不是一种选择。所以我想知道是否可以在同一个文件夹下有两个 .pro 文件。