【问题标题】:Mixing VS2012 Platform Toolsets混合 VS2012 平台工具集
【发布时间】:2013-05-24 23:41:56
【问题描述】:

我们正在从 VS2005 切换到 VS2012 更新 2。

我们正在构建大量(主要是控制台)本机 C++(无 MFC/ATL)可执行文件,这些可执行文件使用几个常见的静态链接库。这些可执行文件主要在 Win7 机器上运行,但有些也部署在较旧的 XP 机器(或相应的服务器版本)上。大多数可执行文件是 32 位的,但有些是 64 位的。

我的问题如下:

1) 使用 v110_xp 工具集构建所有可执行文件和库(即使它们将在 Win7/Server2012 上运行)有哪些缺点(如果有)?

2) 是否可以将使用 v110_xp 工具集构建的静态库链接到使用 v110 工具集构建的可执行文件?这些可执行文件在两个平台上都能正常运行吗?反过来呢?

3) 有没有办法在.props 属性表文件中设置平台工具集?我找不到这样做的方法。

4) 我应该注意针对 XP 和 Win7 的其他陷阱或问题吗?

谢谢!

【问题讨论】:

  • 您找到问题的答案了吗,特别是 1 和 4?
  • 嗨@Alex - 您能否在 1 1/2 年后在这里写下您的经验作为答案?我们仍然在 2005 年,任何转换经验都是有用的。干杯。

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


【解决方案1】:

您不能使用“Update 2”,您必须使用“Update 1”或“Update 3”(至少如果您考虑使用 ATL 或 MFC)!

更新 2 已中断对 XP 的支持!欲了解更多信息,请参阅http://blogs.msdn.com/b/vcblog/archive/2013/05/07/fix-visual-studio-2012-update-2-breaks-windows-xp-targeting-with-atl-and-or-statically-linking-mfc.aspx

其他缺点可以在这里找到:http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx

您可以静态或动态链接!

属性表中似乎无法更改。 有关详细信息,另请参阅Working with Project Properties

【讨论】:

  • 这不是很准确。他不使用 MFC 或 ATL,因此 Update 2 不是问题。属性表中的 PlatformToolset 属性将始终被 .vcxproj 文件中的属性覆盖。这就是为什么您不能在属性管理器中对其进行编辑的原因。
  • @HansPassant:感谢 cmets...我相应地修改了答案...无法测试属性表...
猜你喜欢
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 2013-04-02
  • 2014-07-26
  • 1970-01-01
  • 2013-01-05
  • 2020-08-14
  • 1970-01-01
相关资源
最近更新 更多