我可以在同一个文件夹中有两个.pro文件吗?

时间:2013-01-01 12:24:04

标签: c++ qt

短版

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

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

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

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

    我想到的唯一方法就是在unitTest中创建一个“子目录”.pro文件。然后在unitTest下创建另一个文件夹并将其命名为theActualUnitTest,并将实际单元及其“Application”.pro文件移入其中。并在SamplePlugins文件夹中创建“Library”.pro。但是,我不能这样做,因为我无法更改文件夹,因为我们在同一文件夹结构中有许多其他项目,而某些脚本可以执行某些操作...因此更改文件夹结构不是一个选项。所以我想知道是否有可能在同一个文件夹下有两个.pro文件。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

这就是我为克服自己的问题所做的工作:

将一个“库”模板.pro文件放在SamplePlugins文件夹和PluginLoader.pro这是“子目录”模板.pro文件中我问Qt调查unitTest/SamplePlugins另一个.pro文件:

SUBDIRS  = src \
           test \
           unitTest \
           unitTest/SamplePlugins \