我一直使用Visual Studio内置的GUI支持来配置我的项目,通常使用属性表,以便几个项目将使用通用集合。为多个项目和配置有效地使用Visual Studio项目属性
我的主要抱怨之一是管理多个项目,配置和平台。如果你只是使用主GUI来完成所有任务(右键点击项目 - >属性),它很快就会变得混乱,难以维护并容易出现错误(如未能正确定义一些宏或使用错误的运行时库等)。处理这样一个事实,即不同的人在不同的地方放置依赖库(例如,我的所有生活在“C:\ Libs \ [C,C++] \ [lib-name] \”中),然后经常管理这些库的不同版本不同的(发布,调试,x86,x64等)也是一个大问题,因为它大大增加了在新系统上设置它的时间复杂度,然后存在版本控制问题并且保持每个人的路径不同。 。
属性表使这个更好一点,但我不能有一个工作表有不同的配置和平台的不同设置(下拉框变灰),导致我有许多工作表,如果按正确的顺序继承(“x86”,“x64”,“debug”,“release”,“common”,“directories”(通过定义像BoostX86LibDir这样的用户宏来处理前面提到的依赖性问题)等等) d错误的顺序(例如“x64”和“debug”之前的“common”)会导致像试图链接不正确的库版本或错误地命名输出等问题...
我想要的是处理所有这些分散的依赖关系,并设置一套“解决方案”,供解决方案中的所有项目使用,例如将输出库命名为“mylib- [vc90,vc100] - [x86,x64] [ - d] .lib“,而不必为每个单独的项目,配置和平台组合执行所有操作,然后将它们全部正确保持同步。
我知道转移到像CMake这样完全不同的系统来创建所需的文件,但是这会使其他事情变得复杂化,因此即使是简单的任务,例如向项目中添加新文件,也需要在其他地方进行额外的更改,这就是不是我完全满意的,除非有一些VS2010集成可以跟踪这些变化。
我感到你的痛苦:我们的产品在工作中有超过600个vcproj。 :( – 2010-08-17 12:53:54