我想用makefile中的qmake创建一个Visual Studio项目。到目前为止,qmake AllProjects.pro -r -spec win32-msvc2013 -tp vc "CONFIG+=debug_and_release" -o %CD%/$(VC13PROJ)/AllProjects.sln
可以正常工作。问题是,每个项目都有它的头文件和源文件过滤器,这些文件在顶层是明确的。我使用的是Qt5.5.1。
但我喜欢的是文件的结构类似于目录中的文件,因为它们在逻辑上是组合在一起,并且更好地概述了项目结构。是否有可能使用目录结构配置qmake而不是将所有文件放在顶层?
目录结构:
source/
dir1/
file1.h
file1.cpp
dir2/
file2.h
file2.cpp
问题:Visual Studio中的项目结构如下所示:
project/
header/
file1.h
file1.h
source/
file1.cpp
file2.cpp
我想在Visual Studio中有一个结构,如:
project/
header-filter/
dir1/
file1.h
dir2/
file2.h
source-filter/
dir1/
file1.cpp
dir2/
file2.cpp
替代方案也很好:
project/
dir1/
file1.h
file1.cpp
dir2/
file2.h
file2.cpp
对于源和标题中30多个文件的内容,如果所有内容都位于顶层,则难以获得概述。
编辑:CONFIG-=flat
为qmake
- 选项似乎提供了相对于vcxproj文件的结构。
project/
header-filter/
../
../
source/
dir1/
file1.h
dir2/
file2.h
source-filter/
../
../
source/
dir1/
file1.cpp
dir2/
file2.cpp
所以问题仍然存在,如果有可能摆脱起始相对路径:
../
../
source/
答案 0 :(得分:0)
(代表OP发布解决方案)。
我通过编写解析所创建解决方案的.vcxproj.filters-files
的python脚本解决了这个问题。它搜索创建的过滤器组替换它们,然后调整过滤器中所有项目的已分配过滤器组。