Ich habe gelernt, wie man meine .vcxproj Datei bearbeitet, um einige Dateien mit/Za und einige ohne zu kompilieren.VS2017: Wie kann ich in .vcxproj Optionen pro Datei schreiben, ohne die Filter zu brechen, die ich eingerichtet habe?
Es scheint jedoch, dass seit dem Hinzufügen von Elementen zur .vcxproj-Datei die Filter, die ich in der IDE eingerichtet habe, durcheinander kommen, während die .vcxproj.filters-Datei sich in ein viel größeres Durcheinander von Triple verwandelt , vierfache, nicht arbeitende Duplikate, die bei jedem Speichern weitere Duplikate schreiben.
Wie kann ich eine Compiler-Option (wie/Za) festlegen, um automatisch auf alle neuen Dateien anzuwenden, aber nicht auf einige alte Dateien, und trotzdem funktionieren die Filter ordnungsgemäß? Hier
ist ein verkürzter Beispiel dafür, was ich hinzugefügt, um meine .vcxproj Datei:
<ItemGroup>
<CLCompile Include="**\*.cpp;" Exclude="BufferTrio.cpp;GraphicsFacade.cpp;">
<AdditionalOptions>/Za %(AdditionalOptions)</AdditionalOptions>
</CLCompile>
<CLCompile Include="BufferTrio.cpp;GraphicsFacade.cpp;">
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
</CLCompile>
</ItemGroup>
<ItemGroup>
<None Include="fragmentShader.glsl" />
<None Include="vertexShader.glsl" />
</ItemGroup>
<ItemGroup>
<Text Include="Notes.txt" />
<Text Include="Todo.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="BufferTrio.h" />
<ClInclude Include="Exceptions.h" />
<ClInclude Include="FileUtils.h" />
<ClInclude Include="GraphicsFacade.h" />
</ItemGroup>
Dieses seltsamerweise alle H-Dateien in den richtigen Filter setzen, aber alle CPP/c-Dateien im Projekt Wurzel, außerhalb aller Filter.
Nichts, was ich in der IDE oder mit der Datei .vcxproj.filters mache, macht einen Unterschied, der nicht nur beim nächsten Speichern des Projekts überschrieben wird.