2012-11-05 148 views
17

创建WinRT的项目,我们需要有CMake的> = 2.8.10和:可以用cmake创建WinRT项目吗?

  1. 设置项目类型为Windows应用商店的应用程序(CMake的:SET_TARGET_PROPERTIES(目标属性VS_WINRT_EXTENSIONS TRUE)
  2. 添加编译器标志/ ZW对WinRT的汇编(CMake的:ADD_DEFINITIONS(-zw))
  3. 添加App.xaml.h,App.xaml.cpp
  4. 添加的App.xaml这样VS会从中产生一些附加的文件(CMake的:怎么了?)
  5. 添加Package.appxmanifest与说明,以便VS将使用它(CMake的:怎么了? )

谢谢。

UPDATE:CMake的bug报告提到这个问题是在这里0013749: Cannot target Windows 8 RT from CMake without workarounds.

+0

而这个http://public.kitware.com/Bug/view.php?id=13511 –

回答

2

CMake的人正在努力就可以了: Bug report at cmake.org

+0

而[this one](http://www.cmake.org/Bug/print_bug_page.php?bug_id=12930 )。 – borx

1

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

  • 的Visual Studio 本身支持CMake的,因为的Visual Studio 2017年(见CMake support in Visual Studio)。它不是不再需要单独下载CMake的,并有其产生的.sln和.vcxproj文件。 CMake的是Visual Studio安装的一部分,并且可以通过Visual Studio的项目管理基础设施进行解析和编译系统。
  • C++/CX不再生产和消费的Windows运行时组件的唯一途径。 C++/WinRT提供Windows运行时API表面的标准C++语言投影,以消耗和产生Windows运行时组件的能力。

有了这些变化,你可以使用CMake的创建一个C++项目,建立一个Windows运行时的应用。 C++/WinRT是标准的C++,Visual Studio 2017提供了内置的CMake支持。

相关问题