我正在Visual Studio中开发我的项目,我正在使用qmake来创建解决方案文件。我试图通过引入包含类似项目的子文件夹来组织解决方案。但是,qmake生成的解决方案文件只有一个级别的文件夹层次结构。
有没有办法配置qmake为Visual Studio生成文件夹层次结构,类似于解决方案资源管理器中“添加→新建解决方案文件夹”的效果?
编辑:澄清一下,假设我有这样的目录结构:
MainDir
+--- GroupDir1
| +--- ProjectDir1
| +--- ProjectDir2
+--- GroupDir2
+--- ProjectDir3
我希望解决方案中的文件夹层次结构(如Visual Studio 中所示)反映这一点,但这是我设法使用qmake生成的解决方案:
Solution
+--- ProjectDir1
+--- ProjectDir2
+--- ProjectDir3
答案 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使用的,它不是真正的单/级平(你的源文件不会被移动)。
希望这是有道理的!