【问题标题】:Is it possible to create WinRT project with cmake?是否可以使用 cmake 创建 WinRT 项目?
【发布时间】:2012-10-25 02:17:16
【问题描述】:
要创建 WINRT 项目,我们需要 CMake >= 2.8.10 并且:
- 将项目类型设置为 Windows Store App(CMAKE: SET_TARGET_PROPERTIES(target PROPERTIES VS_WINRT_EXTENSIONS TRUE)
- 为 WinRT 编译添加编译器标志 /ZW(CMAKE: ADD_DEFINITIONS(-ZW))
- 添加 App.xaml.h、App.xaml.cpp
- 添加 App.xaml,以便 VS 从中生成一些额外的文件(CMAKE:HOW?)
- 添加带有描述的 Package.appxmanifest,以便 VS 使用它(CMAKE:如何?)
谢谢。
更新:引用此问题的 CMake 错误报告在这里0013749: Cannot target Windows 8 RT from CMake without workarounds.
【问题讨论】:
标签:
c++
visual-studio-2012
windows-runtime
cmake
【解决方案2】:
这是完全可行的。自从最初提出这个问题以来,情况发生了很大变化。最显着的变化是:
- Visual Studio 原生从 Visual Studio 2017 开始支持 CMake(请参阅 CMake support in Visual Studio)。不再需要单独下载 CMake,并让它生成 .sln 和 .vcxproj 文件。 CMake 是 Visual Studio 安装的一部分,可由 Visual Studio 的项目管理基础架构和构建系统解析。
- C++/CX 不再是生产和使用 Windows 运行时组件的唯一方法。 C++/WinRT 提供 Windows 运行时 API 表面的标准 C++ 语言投影,能够使用和生成 Windows 运行时组件。
通过这些更改,您可以使用 CMake 创建构建 Windows 运行时应用程序的 C++ 项目。 C++/WinRT 是标准的 C++,Visual Studio 2017 提供了内置的 CMake 支持。