qmake可以支持Visual Studio解决方案的文件夹层次结构吗?

时间:2012-05-13 12:12:25

标签: visual-studio qmake

我正在Visual Studio中开发我的项目,我正在使用qmake来创建解决方案文件。我试图通过引入包含类似项目的子文件夹来组织解决方案。但是,qmake生成的解决方案文件只有一个级别的文件夹层次结构。

有没有办法配置qmake为Visual Studio生成文件夹层次结构,类似于解决方案资源管理器中“添加→新建解决方案文件夹”的效果?

编辑:澄清一下,假设我有这样的目录结构:

MainDir
   +--- GroupDir1
   |       +--- ProjectDir1
   |       +--- ProjectDir2
   +--- GroupDir2
           +--- ProjectDir3

我希望解决方案中的文件夹层次结构(如Visual Studio 中所示)反映这一点,但这是我设法使用qmake生成的解决方案:

Solution
   +--- ProjectDir1
   +--- ProjectDir2
   +--- ProjectDir3

3 个答案:

答案 0 :(得分:6)

您可能正在寻找的是在您的专业档案中添加以下内容

CONFIG -= flat

查看Qt documentation on this option

例如,您也可以take a look at this pro file使用此选项

答案 1 :(得分:0)

尝试

TEMPLATE = subdirs
CONFIG  += ordered

SUBDIRS +=  project1\
        project2\
            ...
        projectn

subdirs模板用于在子目录中构建目标。您可以使用变量SUBDIRS添加子目录。

一般来说,添加CONFIG += ordered是个好主意,以防项目之间存在依赖关系(如库)。

您还可以使用.pri文件(相当于项目文件的标题)在子项目之间共享变量。

编辑:尝试

使用

创建maindir.pro
TEMPLATE = subdirs
CONFIG  += ordered

SUBDIRS +=  GroupDir1\
        GroupDir2\

然后groupdir1.pro

TEMPLATE = subdirs
CONFIG  += ordered

SUBDIRS +=  ProjectDir1\
        ProjectDir2\

然后groupdir2.pro

TEMPLATE = subdirs
CONFIG  += ordered

SUBDIRS +=  ProjectDir3

这可以保证与Qt Creator一起使用,无法使用visual-studio进行测试......

答案 2 :(得分:0)

是的,您可以在.pro / pri中使用层次结构,但它会在Visual Studio中“转换”为单个级别的结构。但是由于pro / pri实际上是qmake使用的,它不是真正的单/级平(你的源文件不会被移动)。

希望这是有道理的!