C++ 在哪里可以找到.vcproj文件结构的参考?
我查看了MSDN,找不到它。C++ 在哪里可以找到.vcproj文件结构的参考?,c++,visual-studio,vcproj,C++,Visual Studio,Vcproj,我查看了MSDN,找不到它。 我找到了一个,很好。 但我真正想要的是对vcproj文件中每个元素的解释,一个引用 摆在我面前的直接问题是,元素VisualStudioProject/Files/Filter中UniqueIdentifier属性的重要性是什么?源文件的UUID在项目中是否相同?还是全球独一无二 <VisualStudioProject> ... <Files> <Filter Name="Source Files"
我找到了一个,很好。
但我真正想要的是对vcproj文件中每个元素的解释,一个引用 摆在我面前的直接问题是,元素VisualStudioProject/Files/Filter中UniqueIdentifier属性的重要性是什么?源文件的UUID在项目中是否相同?还是全球独一无二
<VisualStudioProject>
...
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File ... />
...
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File ... />
...
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File ... />
...
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
...
...
...
...
但在我回答了这一个问题后,我相信我还会有10000个。所以我想要一个参考,它允许我直接编辑.vcproj
有人能建议吗
编辑:即使MS没有对其进行记录,每个元素都有其意义。有人知道列表或摘要吗?我怀疑Microsoft不打算将该格式作为文档格式。微软过去曾表示,文档化的功能和格式在某些情况下需要多做一个数量级的工作
如果格式没有文档化,那是因为微软希望这样做。任何文档都将通过分析和逆向工程来完成。我不知道您需要它做什么,因此这可能相关,也可能无关,但Visual Studio 2010将放弃.vcproj格式。;) 他们正在切换到基于MSBuild的.vcxproj。(因此,也将完整记录) 因此,至少从长远来看,瞄准这一目标可能更容易 至于GUID,我相信每个GUID都必须是唯一的。我认为它们之间没有任何关系(两个元素不应该有相同的GUID)
微软只是喜欢给每件事赋予它自己的GUID。你永远不知道什么时候你会需要它 我想我记得一个非常旧的版本的问题,它与
UniqueIdentifier
有关,它们不是唯一的。如果我是正确的,则问题已得到解决,uniqueIdentifier
应为GUID
对不起,我帮不上忙了。我转到了cmake,现在我不必处理vcproj文件,它们是为我生成的
您可能可以在网站上找到更多信息,因为他们有一个vc项目文件生成器,他们必须已经完成了所有反向工程。已记录了.vcproj中的所有元素,即VS自动化接口的DevStudio文档描述了项目对象/属性,项目对象/属性直接映射到xml元素/属性 我可以相信MS没有记录格式。但它是XML,它是可读的。有人在任何地方做过分析和逆向工程吗?XML节点名称与您的项目的config manager/properties页面中的选项非常对应。我知道项目文件会改变,但是。。我没有VS2010的预算。进一步查看后,“源文件”(集合)有一个GUID,“头文件”有一个GUID,“资源文件”有一个GUID,这些文件在项目中似乎是相同的GUID。在visual studio 2010中,如果您阅读他们的团队博客,您会发现指向更改的指针,这会更好。如果你在这里没有得到答案,我会在MS论坛上问这个问题。另外,QT有一个生成器(qmake),用于生成由QT定义的.pro文件中的vc项目文件。