1

上周我继承了一个遗留的非托管 C++ 应用程序。

不幸的是,项目设置不是 100% 可靠的,也没有文档。我所知道的是该产品是使用Microsoft Visual C++ 2008 Redistributable x86部署的。

我的问题是:您建议使用哪种 IDE、SDK 和 Platform ToolSet 组合?

不幸的是,我以前没有使用过Windows SDK,而且Platform ToolSet选项对我来说是新的。更糟糕的是,我已经八年没有写过一行 C++ 代码了!所以......您可以提供的任何反馈将不胜感激:D

知道

  • 客户端操作系统
    • 视窗 2008 R2
  • C++ 可再发行组件
    • Microsoft Visual C++ 2008 Redistributable x86在生产中部署
  • 集成开发环境(IDE)
    • 我更喜欢使用Visual Studio 2012(我们还有:Visual Studio 2008、2010、2012)

未知数

  • 平台工具集
    • 我可以使用VS2012并针对v90平台,还是简单地使用VS2008更稳定?
  • 视窗 SDK
    • 如果客户端在生产中使用Microsoft Visual C++ 2008 Redistributable x86 ,我应该在开发机器上安装哪个版本的 Windows SDK
4

1 回答 1

1

我将首先尝试让项目在 Visual Studio 2008 中成功编译,因为您提到您已经拥有该项目。

我不会费心尝试安装另一个版本的 Windows SDK(一个与 VS 2008 捆绑在一起),除非您无法让项目在 VS 2008 的开箱即用安装中成功编译。如果没有,并且您确实想尝试安装另一个版本的 SDK,我会选择7.1 版本,即针对 Windows 7 的版本。

使用 6.1 版的 SDK 不太可能有任何优势;新版本可能会添加新功能,但它们通常保留与旧版本的向后兼容性。但是,我不会安装任何版本的 Windows 8 SDK,因为这可能会让您作为开发人员感到困惑。

一旦你准备好一切并继续使用 VS 2008,如果你愿意使用它,你可以尝试切换到 VS 2012。(我仍然无法习惯 UI,但显然有人喜欢它。)正如您在问题中指出的那样,使这项工作正常工作的最简单方法是定位“v90”,即 VS 2008(设置使用平台工具集选项)。这基本上允许您使用 VS 2012 shell 进行编辑,但使用 VS 2008 编译器和头文件进行构建。但是,您不会获得 VS 2012 引入的任何 C++11 功能,因为您没有使用新版本的编译器;您将被 VS 2008 中支持的内容所困。

于 2013-03-19T17:44:31.293 回答