是否可以用C++/WinRT将windows 10.0.14393作为目标
Is it possible to target windows 10.0.14393 with C++/WinRT?
我想用C++/WinRT为我的Lumia制作一个应用程序,它卡在Win 10.0.14393(或1609(上。我用创建了一个空白应用程序项目
- 目标平台版本:10.0.17134.0和
- 目标平台最低版本:10.0.14393
项目编译失败,出现以下错误:
错误C2039:"DisconnectUnloadedObject":不是"winrt::BlankApp2::implementation::MainPageT"的成员
错误C2039:"UnloadObject":不是"winrt::BlankApp2::implementation::MainPageT"的成员
这是错误还是故意行为?请注意,设置任何更新的分钟。版本导致成功构建。
最新版本的C++/WinRT可以支持所有版本的Windows 10,包括14393和旧版本。
请记住,C++/WinRT既是一个库,也是一种语言投影。语言投影提供了对针对给定版本的Windows的Windows API的访问。每个版本都引入了新的API。因此,如果你想针对最低版本的Windows,你需要确保将自己限制在该版本的Windows上可用的API。然而,我建议使用最新的编译器和最新的Windows SDK,因为它们包含许多错误修复。
我建议您在针对较旧的C++/WinRT和Windows 10更新时使用Visual Studio 2015。我的印象是,其中大多数都是在Visual Studio 2015的基础上提供的,包括Visual Studio 2015更新、Windows 10 SDK更新和C++/WinRT更新。
将Visual Studio 2015与C++/WinRT一起使用时,您将需要最新的更新,即更新3。检查更新,并确保您的Visual Studio 2015副本具有最新的更新。我刚刚安装了Visual Studio 2015 Enterprise,重新编译了一些用Visual Studio 2017编译得很好的东西,发现我缺少了更新3中的工具和SDK,包括Win 10 SDK 10.0.14393,但我还没有安装。
您也可以从"控制面板"中转到"程序和功能",在列表中查找Microsoft Visual Studio 2015,然后用鼠标右键单击"更改",即可检查已安装的内容并更改任何内容。
在过去的几个月里,我使用了C++/WinRT,同时使用了Visual Studio 2017社区版和Visual Studio 2015企业版。
在将解决方案从VS 2015移动到VS 2017时,我看到了差异,这需要我查看解决方案的"属性"页。另请参阅将SDK与Windows 10更新同步以及将WinRT与标准C++一起使用的讨论
使用最新的Windows 10更新和VS 2017最适合我,因为我能够针对最新的Windows10更新。然而,我发现尝试使用VS 2017针对较旧的Windows 10更新可能会有问题。
很抱歉,我不能更具体了。C++/WinRT和Windows 10更新的整个领域比我想象的要牛仔得多,尽管现在似乎已经"安定下来"了。
C++/WinRT是一个模板库,最初是GitHub上的一个开源项目。我的印象是微软已经收购了它,它现在是一个标准的产品。我相信,随着Visual Studio 2015和Visual Studio 2017开始实现更多的C++17,并提出了C++20标准和协同程序的技术规范,C++/WinRT一度发生了重大重写。
在某种程度上,这一领域似乎仍在发生变化。然而,大多数变化都发生在VS 2015和VS 2017早期以及SDK上。随着最新的更新,它现在看起来相当稳定。
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++A*算法并不总是在路径中具有目标节点
- 基于树莓pi的tensorflow lite量化ssd目标检测
- 为测试目标创建具有不同源文件夹的文件
- 使用源向量作为目标
- 是否可以用C++/WinRT将windows 10.0.14393作为目标
- 在 CMake 中为每个目标设置编译器/链接器标志
- qmake:检测目标位宽(32 位或 64 位)
- 如何在 CMake 中对目标依赖项进行分组?
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 如何为包含头文件的目标编写生成文件?
- 线性优化目标函数中的绝对值
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- 字符串函数在目标C++上运行时C++返回空
- 如何定义自定义生成配置类型,其中通常是.exe的目标改为 DLL
- 请求最简单的 OpenMP 目标 GPU 示例
- LLVM 编译:目标的配方 '../lib/IR/Release+Asserts/Intrinsics.gen.tmp' failed
- 当目标指针不是基类的类型时,为什么允许dynamic_cast为多态类生成 null 指针?
- 我应该如何在没有变量的情况下将相同的参数传递给 CMAKE 中的多个目标?
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径