簡體   English   中英

如何配置Qmake使用目錄結構為項目中的源文件生成Visual Studio解決方案?

[英]How to config qmake generating Visual Studio solution using directory-structure for source files in projects?

我想用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 -option似乎提供了相對於vcxproj文件的結構。

project/
  header-filter/
    ../
      ../
        source/
          dir1/
            file1.h
          dir2/
            file2.h
  source-filter/
    ../
      ../
        source/
          dir1/
            file1.cpp
          dir2/
            file2.cpp

因此,問題仍然存在,如果有可能擺脫起始的相對路徑:

    ../
      ../
        source/

(代表OP發布解決方案)

我通過編寫一個python腳本來解析創建的解決方案的.vcxproj.filters-files來解決了這個問題。 它搜索創建的過濾器組以替換它們,然后調整過濾器中所有項目的分配過濾器組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM