我收到以下错误:
fatal error C1107: could not find assembly 'platform.winmd': please specify the assembly search path using /AI or by setting the LIBPATH environment variable
重现的步骤
0)创建一个新的空项目
1)C / C ++>一般>使用Windows运行时扩展>是
2)C / C ++>代码生成>启用最小重建>否
3)添加源文件* .cpp,文件可以为空
4)尝试编译
我尝试手动比较和更改项目设置以匹配某些示例代码,但似乎没有任何效果。
答案 0 :(得分:12)
我不明白你有什么问题,所以
答案 1 :(得分:0)
要创建C ++ / CX Desktop应用程序,请执行以下操作:
在C/C++ -> General
项目属性中,将Consume Windows Runtime Extension
设置为是
在同一标签中,将它们输入到Additional #using Directories
中,输入包含windows.winmd
和platform.winmd
文件的目录。对我而言,使用VS2017,即:
C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ lib \ store \ references;
C:\ Program Files(x86)\ Windows Kits \ 10 \ UnionMetadata;
C:\ Program Files(x86)\ Windows Kits \ 10 \ References \ Windows.Foundation.UniversalApiContract \ 2.0.0.0;
C:\ Program Files(x86)\ Windows Kits \ 10 \ References \ Windows.Foundation.FoundationContract \ 2.0.0.0
然后调用RoInitialize或使用WinRT主样式函数(以删除有关主线程的警告C4447):
using namespace Platform;
int main(Array<String^>^ args) ....
参考文献:
Using C++/CX in Desktop apps,
Calling Windows 10 APIs from a desktop application