我有一個複雜的C/C++應用程序,我正在處理的應該也是平臺無關的。到目前爲止,是UNIX/Windows兼容,它運行良好。但是,在VS2010上維護這個怪物是一場噩夢。我有以下文件結構:Visual Studio 2010項目文件過濾器
/ sources lib1 include ... src ... lib2 include ... src ... app3 include ... src ... builders cmake ... make ... VS2010 vs2010.sln lib1 lib1.vcxproj lib1.vcxproj.filters lib2 lib2.vcxproj lib2.vcxproj.filters app3 app3.vcxproj app3.vcxproj.filters
正如我們所看到的,因爲一切都與平臺無關,所以我必須將構建器與源代碼完全分開。恕我直言,這本身是一個非常好的做法,它應該由所有人強制執行:)
現在的問題... VS2010是完全無法使用,當涉及到在過濾器中組織include/sources文件。您必須通過重複執行「添加 - >新過濾器」,然後選擇「添加 - >退出項目」手動執行此操作。我有一個非常複雜的文件夾結構和每個包含文件夾中的文件。創建過濾器的任務成爲一整天的工作。另一方面,我可以將整個文件夾從資源管理器拖放到VS2010中的項目中,但是它會將所有的頭文件/源文件放在那裏,而沒有任何過濾器,使其毫無價值:在100個文件中無法搜索右邊一個沒有某種層次結構..
問題是: VS2010有一些模糊的方式導入文件夾並保留文件夾結構作爲過濾器?在我看來,創建VS2010的M $ FT人認爲M $ FT是叢林中唯一的動物,你必須用建設者項目污染sources文件夾,這樣你可以利用「顯示隱藏文件」將它們包含在項目中文件夾結構。這是荒謬的恕我直言...
嚴重的是,爲什麼你保持VS2010項目文件,如果你使用的CMake? *(另外,請保持中立並停止寫入「M $」)* – Synxis
您可以編寫一個生成'.filters'文件的相關部分的單線程腳本。在Linux或Cygwin下運行它,或者將其寫入'.ps1'或'.bat'。 – Notinlist
@Synxix:你說得對。我很抱歉。我只是發泄...我必須保持VS2010左右,因爲我喜歡多樣性。我負責Windows維護的團隊的其他成員希望使用VS2010,因爲他們感到高效(或者他們認爲直到現在......)。 – shiretu