在Windows XP上构建VSOS开发时?

时间:2013-01-28 11:08:23

标签: visual-c++ msbuild visual-studio-2012 migration

我们计划从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命令行能让我到任何地方吗?

3 个答案:

答案 0 :(得分:0)

在Project Property Pages中,有一个选项“Platform Toolset”,允许您选择项目的兼容性。因此,您可以在VS2012中工作,但使用“VS2008编译器”

构建它

答案 1 :(得分:0)

以下是我们的工作:

使用CMake

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

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

这里有一个很棒的专家:如果您计划迁移到任何其他IDE甚至Linux,您可以重新运行CMake并在这些环境中轻松编译源代码。

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

答案 2 :(得分:0)

  

我们的构建服务器仍然运行Windows 2003r2(所有内部专用   虚拟机),由于工具支持/问题的混乱,我们没有   将构建服务器升级到更新的操作系统的位置。

好。这个问题没有多少出来。我们最近重新评估了这个问题,我看到了两个选项(我还没有尝试过):

  • 只需在支持的操作系统(Win7)上进行完整的VS安装,压缩整个VS + WinSDK目录(以及生活在%WINDR%以下的必要的runtme DLL),并试试是否可以获得该东西在基于XP的操作系统上工作。可能会工作。如果你问我,不是一个好主意。
  • 拆分构建过程以在多个操作系统之间分发构建,以便我们可以使用仅在其中一个上支持的工具。 - 这实际上听起来比它复杂得多。我们已经在几个Jenkins工作中运行我们的构建,所以我应该能够让它工作。 (并且所有构建节点都已经是虚拟机,因此添加更多虚拟机并不是一个问题。)