如何使用 qmake 创建 vcproj,使其过滤器反映目录结构?

bal*_*los 5 qt qmake qt4 visual-studio

我使用 qmake (Qt 4.5.1) 创建 vcproj 文件。我想为输出 vcproj 创建自定义过滤器,这样并非每个 *.h 文件都出现在“头文件”过滤器中,*.cpp 出现在“源文件”等中。

例如,包含文件的项目

foo\foo.h
foo\foo.cpp
bar\bar.h
bar\bar.cpp
Run Code Online (Sandbox Code Playgroud)

应该有一个 vcproj 文件

foo
   foo.h
   foo.cpp
bar
   bar.h
   bar.cpp
Run Code Online (Sandbox Code Playgroud)

代替

Header Files
   bar.h
   bar.cpp
Source Files
   bar.cpp
   foo.cpp
Run Code Online (Sandbox Code Playgroud)

谢谢!

Krs*_*sna 4

如果使用 运行 qmake CONFIG -= flat,您将获得以下项目结构:

Header Files
    foo
        foo.h
    bar
        bar.h
Source Files
    foo
        foo.cpp
    bar
        bar.cpp
Run Code Online (Sandbox Code Playgroud)

这一直困扰着我,这就是我在 Mac 上为 Xcode 项目编写修复程序的原因。最终我可能会为 VS 编写一个(这更容易,因为项目文件是一个 XML 文档)。

如果您严格使用 Visual Studio 在 Windows 上编写软件,我建议使用Visual Studio 集成插件,因为它会自动生成编译 Qt 文件所需的 UIC 和 MOC 步骤。