2

简洁版本

同一文件夹下是否可以有两个 .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夹中,但我不能这样做。原因是,我应该使用.pro3 种不同类型的模板文件:

  1. 子目录模板,只包含PluginLoader.pro. 基本上它告诉 Qt 查看那里为某些 .pro 文件提供的子目录。
  2. 应用程序模板,生成二进制文件并放入bin文件夹。我的test文件夹里有。
  3. 库模板,生成 .so 并将其放在其他路径中。src我在我的文件夹中使用这个

现在,如果我想测试只加载一些插件的应用程序,我需要一些插件。这就是为什么我在SamplePlugins文件夹下有文件unitTest夹的原因。

UnitTest.pro必须来自“应用程序”.pro 模板,以便生成 unittest 二进制文件。并且插件示例应该有“库”.pro,以便它们生成“.so”。这就是我的困境。如果我将“库”.pro 文件放入,SapmlePlugins那么它将不会被解析,因为它的父文件夹没有“子目录”.pro。

我想到克服这个问题的唯一方法是在 .pro 文件中有一个“子目录”.pro 文件unitTest。然后在下面创建另一个文件夹unitTest并调用它theActualUnitTest并将带有“应用程序”.pro 文件的实际单元移动到其中。SamplePlugins并在文件夹中创建一个“库”.pro 。但是,我不能这样做,因为我不能更改文件夹,因为我们在同一个文件夹结构中有许多其他项目,并且一些脚本可以做一些事情......所以改变文件夹结构不是一种选择。所以我想知道是否可以在同一个文件夹下有两个 .pro 文件。

4

2 回答 2

0

简短的回答:是的,你试过吗?

.pro 文件的名称无关紧要,您可以随意命名。

于 2013-01-01T13:08:36.757 回答
0

好吧,这就是我为克服我的问题所做的事情:

将“库”模板 .pro 文件放在SamplePlugins文件夹中,在PluginLoader.pro“子目录”模板 .pro 文件中,我要求 Qt 查找unitTest/SamplePlugins另一个 .pro 文件:

SUBDIRS  = src \
           test \
           unitTest \
           unitTest/SamplePlugins \
于 2013-01-02T10:18:32.403 回答