1

我们计划从 Visual Studio 2005 迁移到 Visual Studio 2012 (Visual-C++-11)。(如果我们能提供帮助,我们非常想跳过 2010 年,因为新版本已经存在并且提供了更好的 C++ 体验。)

但是我们遇到了一个小障碍:

我们的构建服务器仍然运行 Windows 2003r2(都在专用虚拟机中),并且由于混乱的工具支持/问题,我们无法将构建服务器升级到更新的操作系统。

到目前为止,开发人员大多已切换到 Windows7,因此移动剩余的 Windows XP 开发人员框应该不会造成问题。

由于 VS2012 只在 Win7 上运行,我们想知道我们是否可以利用它的工具(C++ 编译器、C#)并仍然在 W2k3 构建服务器上进行完全等效的构建 - 毕竟,我们并不真的需要 VS GUI,只需构建来自 VS2012 的 C++ 和 C# 项目。

我们有哪些选择?

SDK(7.1?8?)编译器+ msbuild命令行能让我到任何地方吗?

4

3 回答 3

0

在项目属性页中,有一个选项“平台工具集”允许您选择项目的兼容性。因此,您可以在 VS2012 中工作,但使用“VS2008 编译器”构建它

于 2013-01-29T09:35:32.793 回答
0

这是我们所做的:

使用CMake

CMake 允许您为您的操作系统创建构建系统。因此我们可以在 VS2005、VS2010 和 Eclipse、XCode 等中使用相同的代码。

你可以做类似的事情:在你的旧机器上安装 VS2005,让 CMake 从源代码为你创建项目。在您较新的机器上,您可以使用 CMake 生成 VS2012 解决方案(我不知道他们是否支持 2012,因为我们还没有使用 2012)。

这里的一个大优点是:如果您计划迁移到任何其他 IDE 甚至 Linux,您只需重新运行 CMake 并在这些环境中轻松编译您的源代码。

一个大问题:您必须开始阅读有关 CMake 并为所有项目创建 CMakeLists.txt 的内容(可能需要做很多工作,具体取决于项目数量、每个项目中的源代码文件数量、特定编译器选项、链接器选项等.)

于 2013-01-29T10:32:24.067 回答
0

我们的构建服务器仍然运行 Windows 2003r2(都在专用虚拟机中),并且由于混乱的工具支持/问题,我们无法将构建服务器升级到更新的操作系统。

好。这个问题没有什么结果。我们最近重新评估了这个问题,我看到了两个选项(我还没有尝试过):

  • 只需在受支持的操作系统(Win7)上进行完整的 VS 安装,压缩整个 VS+WinSDK 目录(以及位于 %WINDR% 下某处的必要 runtme DLL),然后尝试是否可以让该东西在基于 XP 的操作系统。可能会奏效。如果你问我,这不是一个好主意。
  • 拆分构建过程以跨多个操作系统分发构建,以便我们可以使用仅在其中一个上受支持的工具。-- 这实际上听起来比实际要复杂得多。我们已经在几个 Jenkins 作业中运行了我们的构建,所以我应该能够让它工作。(无论如何,所有构建节点都已经是虚拟机,因此添加更多虚拟机并不是什么大问题。)
于 2013-05-12T18:45:35.423 回答