c++ - 始终使用 Visual Studio 中可用的最新工具集

标签 c++ git visual-studio visual-studio-2015 visual-studio-2017

我有一个 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/

相关文章:

git - git 中的 ANSI 颜色显示不正确

regex - Git 通过 grep/regex 添加行到索引

python - 在 Visual Studio 中将空格显示为选项卡

java - 是否有一种标准/完善的方法来序列化 Java 类以在 C++ 中使用,而无需使用 XML 或 JSON 等标记格式?

c++ - 可执行文件未运行 R6010

git - 如何处理多个 PULL REQUESTS?

visual-studio - Visual Studio 2015 更新 3 (KB3165756) 安装程序被阻止

c# - Visual Studio F6 停止工作。它不再构建项目

c++ - 在 C++ 中确定一个 unicode 字符是全角还是半角

c++ - sleep 的意义(0)