2013-01-01 65 views
1

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

是否有可能具有相同的文件夹下的两个.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种不同类型:

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

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

UnitTest.pro必须来自“Application”.pro模板,以便它生成unittest二进制文件。插件示例应该有“Library”.pro,以便它们生成“.so”。这是我的困境。如果我将“Library”.pro文件放在SapmlePlugins中,那么它将不会被解析,因为它的父文件夹没有“Sub-Directory”.pro。

想到克服这个问题的唯一方法是在unitTest中有一个“子目录”.pro文件。然后在unitTest下创建另一个文件夹,并将其称为theActualUnitTest,并将实际单元的“应用程序”.pro文件移入其中。并在SamplePlugins文件夹中创建一个“Library”.pro。但是,我不能这样做,因为我无法更改文件夹,因为我们在同一个文件夹结构中有许多其他项目,还有一些脚本会执行某些操作......所以更改文件夹结构不是一种选择。所以我想知道是否有可能在同一个文件夹下有两个.pro文件。

+0

您可以将.pro的某些部分分割为一个.pro文件。pri文件并将其包含在各种.pro文件中?我知道你使用Qt Creator,它可能不容易处理(与手动编写.pro/.pri相比) –

+0

我的项目目录中已经有.pri文件。我在.pri文件中搜索项目依赖关系。 – mrz

回答

0

嗯,这是我做过什么克服我的问题:

挂上了“库”模板.pro文件中SamplePlugins文件夹和PluginLoader.pro这是“子目录”模板.pro文件,我问的Qt查看另一个.pro文件unitTest/SamplePlugins

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

可以包含你的文件结构的ASCII图,就像你在你的问题中所做的一样?这将是相当有用的=] – Troyseph

0

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

.pro文件的名称是不相关的,你可以任意调用它。

+0

是的,我做过。但Creator只在其中一个文件中显示'unitTest.pro'文件。我有不同名称的.pro文件... – mrz

+0

Qt Creator只显示添加到根或子.pro文件的文件,使用include – benjarobin

+0

我尝试从终端进行make操作,结果虽然 – mrz

相关问题