【问题标题】:Visual Studio 2010 Express, Windows SDK 7.1, CMake and 64 bitVisual Studio 2010 Express、Windows SDK 7.1、CMake 和 64 位
【发布时间】:2014-07-22 18:24:20
【问题描述】:

我在通过 CMake 生成 Visual Studio 2010 Express 64 位项目时遇到问题。我首先安装了 VS2010 Express,然后是 Windows SDK 7.1,以便能够构建 64 位应用程序,然后尝试编译我的 CMake 项目。

我不记得使用 2008 Express 有那么困难,但是使用 2010 我一次又一次地失败。 2010 默认搜索随附的 7.0a SDK。 express 版本似乎提供了一个简化的 32 位版本,位于

.../Program Files(X86)/Microsoft SDKs/Windows/7.0a

Windows SDK 7.1 64bit 将默认安装在

.../Program Files/Microsoft SDKs/Windows/7.0

在 VS 2010 Express 中,平台 SDK 可以在每个项目地图的基础上进行更改,如果我这样做,继承的路径宏会出人意料地指向正确的 SDK。现在的问题是,CMake 对我自己搞砸项目文件感到不高兴。因此,它总是将 Platform SDK 条目重置为默认值,这将使 Windows SDK 指向 7.0a 并导致抱怨缺少 64 位库。

我现在看到解决此问题的两种可能性:

  • 找到一种将 7.1 SDK 真正集成到 VS2010 Express 中的方法,就像 VS2008 一样。 VS2008 在注册表中搜索 Windows SDKs 条目中的标记“CurrentInstallFolder”,您可以将此条目更改为指向另一个 SDK。

  • 想办法告诉 CMake (2.8.1) 在项目中设置正确的 Platform SDK。没有计划如何做到这一点...

如果有任何帮助,我将不胜感激。不幸的是,2010年有点强制性,我个人根本无法适应它......

【问题讨论】:

  • 您在生成Win64 项目吗?
  • 是的,我正在生成>Visual Studio 10 Win64

标签: visual-studio-2010 winapi cmake 64-bit


【解决方案1】:

好的,更新到最新的 CMake (2.8.12) 解决了这个问题,CMake 现在检测到 7.1 SDK 并将其设置在项目文件中。

编辑:可以通过 CMAKE_GENERATOR_TOOLSET 标志在 CMake 文件中选择工具集

【讨论】:

  • 我想在这里补充一点,可以通过 CMAKE_GENERATOR_TOOLSET 标志在 CMake 文件中选择工具集。
  • 在这种情况下,最好编辑您的答案。这将比提交更明显。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多