【问题标题】:Can qmake support a folder hierarchy for a Visual Studio solution?qmake 能否支持 Visual Studio 解决方案的文件夹层次结构?
【发布时间】:2012-05-13 12:12:24
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 您可以发布您的 qmake 层次结构(仅相关部分)吗??

标签: visual-studio qmake


【解决方案1】:

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

CONFIG -= flat

看看Qt documentation on this option

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

【讨论】:

  • 找了好几个月...谢谢
【解决方案2】:

试试

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 进行测试...

【讨论】:

  • 感谢您的回复,但这正是我现在正在做的事情,它仍然为我提供了我想要避免的 1 级层次结构。每个.pro 文件已经在使用subdirs 模板。
【解决方案3】:

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

希望这是有道理的!

【讨论】:

  • 在 VS 项目的结构中,它们是一层,但物理位置并不是我所说的“转换”。使用 CONFIG -= flat 选项,totem 看起来很划算:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多