是否可以使用cmake创建WinRT项目?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以使用cmake创建WinRT项目?相关的知识,希望对你有一定的参考价值。

要创建WINRT项目,我们需要CMake> = 2.8.10并且:

  1. 将项目类型设置为Windows应用商店应用(CMAKE:SET_TARGET_PROPERTIES(目标属性VS_WINRT_EXTENSIONS TRUE)
  2. 为WinRT编译添加编译器标志/ ZW(CMAKE:ADD_DEFINITIONS(-ZW))
  3. 添加App.xaml.h,App.xaml.cpp
  4. 添加App.xaml,VS将从中生成一些额外的文件(CMAKE:怎么样?)
  5. 添加Package.appxmanifest与描述,以便VS将使用它(CMAKE:怎么样?)

谢谢。

更新:CMake错误报告引用这个问题在这里0013749: Cannot target Windows 8 RT from CMake without workarounds.

答案

CMake家伙正在努力:Bug report at cmake.org

另一答案

这是完全可行的。自从最初提出这个问题以来,事情发生了很大变化最重要的变化是:

  • 自Visual Studio 2017以来,Visual Studio本身支持CMake(请参阅CMake support in Visual Studio)。不再需要单独下载CMake,并让它生成.sln和.vcxproj文件。 CMake是Visual Studio安装的一部分,可以通过Visual Studio的项目管理基础结构和构建系统进行解析。
  • C ++ / CX不再是生成和使用Windows运行时组件的唯一方法。 C++/WinRT提供Windows Runtime API表面的标准C ++语言投影,能够使用和生成Windows运行时组件。

通过这些更改,您可以使用CMake创建构建Windows运行时应用程序的C ++项目。 C ++ / WinRT是标准C ++,Visual Studio 2017提供内置的CMake支持。

另一答案

CMake不完全支持Visual Studio 11.请检查这些链接。

http://public.kitware.com/Bug/view.php?id=13498

http://public.kitware.com/Bug/view.php?id=12930

http://www.ogre3d.org/forums/viewtopic.php?f=9&t=76388

以上是关于是否可以使用cmake创建WinRT项目?的主要内容,如果未能解决你的问题,请参考以下文章

CMake:生成调用 cl.exe 的批处理文件

Visual studio 创建通用项目失败vstemplate

需要一些帮助来创建一个 cmake 文件以使我的项目正常工作...从 cmake 转换

如何在 CMake 中正确创建目标之间的依赖关系?

CMake学习:使用camke创建一个最简单的跨平台c++项目

为 CMake 项目创建一个配方,使用 find_package 查找其依赖项