2013-07-16 45 views
0

有沒有一種方法可以排除所有具有專用文件擴展名的文件,例如C++構建過程中的* .ipp?Visual Studio 2010 - 排除文件類型

+0

不知道你想達到什麼。你可以告訴我們更多的編譯器(我猜,這是VS 2010,但仍然)/操作系統,你想這麼做的原因是什麼。比方說,在我看來,你可以不把這些文件放在你的項目中。 – biocomp

+0

@biocomp:是的,它是Win/VS2010。我有多個C++模板類,實現在* .ipp文件中。直到現在,每個* .ipp文件都被手動排除。定義全局編譯器規則以從編譯中排除* .ipp文件會更簡單。 – Mark

+0

好吧,現在我想知道如何在第一個地方包含文件。我想,你以某種自動方式來做到這一點。根據不同,排除文件擴展名可能有不同的選項。你能告訴我們如何將文件包含到項目中嗎?更好的是,你能提供最小的項目文件與repro? – biocomp

回答

1

在我想通了我自己同時確定:

環境: VS2010/C++項目模板。模板在* .h中聲明並在* .cpp中實現。每一個* .cpp文件設置爲「從構建排除=是」

問題: 每當一個新的模板實現添加相應的*的.cpp必須手動設置爲「從構建排除=是」

我想要的: 構建規則從構建過程中排除所有模板實現文件。

操作: 將「Solution Explorer」中的* .cpp文件重命名爲* .ipp。

結果: 編譯「排除內部=否」文件時,即使它沒有* .cpp擴展名。

選項A: 將每個* .ipp文件設置爲「Exlcude from build = Yes」 - >這對我來說不行!

選項B: 從解決方案中刪除* .ipp並再次添加。在* .vcxproj文件,然後加入如下:

<ItemGroup> 
    <None Include="..\..\src\foo.ipp" /> 
</ItemGroup> 

,因此不再進行編譯。