我有一个 VC++ 项目,团队中有些人使用 VS2105 和其他人使用 VS2017 打开,但前者需要不断编辑项目以选择 v140 而不是 v141 才能构建。有没有办法自动选择最新的可用工具集?即,VS2015 用户自动使用 v140 工具集,VS2017 用户也自动使用 v141。
我想到的一个想法是让两个项目引用相同的源代码文件,每个项目使用不同的工具集。但是,任何更改(例如,向项目添加新文件或新库)都必须执行两次 :(
另一个可能是一个分支,它只在指定的工具集上有所不同,并且随着 master 分支的发展不断 rebase ,但是回馈变得笨拙:(
最佳答案
保存2个解决方案文件,一个*_2015.sln
,一个*_2017.sln
。
在此之后开始,找出最有效的解决方案,以便在需要时仅手动更新其中一个。然后编写一个脚本来修改一个来创建另一个。将该脚本添加到 CI 或构建脚本、Git 推送脚本或其他任何内容。
每当您发现自己说出这样的话时,“我发现自己不得不不断地做 x、y、z。”你应该想,“我怎样才能使它自动化?”,然后找出一种或多种手动方法来完成任务,然后选择最简单的方法进行自动化——尤其是当一项任务可以通过更改文件中的文本来完成时。 .
如果您设置了 CI,您应该能够将这样的脚本绑定(bind)到任何新提交时触发。
(抱歉,如果这个答案太基础了...)
关于c++ - 始终使用 Visual Studio 中可用的最新工具集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46939549/