VS2012 Error C1107

VS2012 Error C1107

本文关键字:C1107 Error VS2012      更新时间:2023-10-16

我得到以下错误:

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运行时扩展>YES

2( C/C++>代码生成>启用最小重建>无

3( 添加源文件*.cpp,文件可以为空

4( 尝试编译

我试图手动比较和更改项目设置,以匹配一些示例代码中的设置,但似乎什么都不起作用。

我不明白你有什么问题,所以

  1. 如果你不想针对WinRT编写代码,只需将"Consume…"设置为false,问题就会消失
  2. 如果要针对WinRT进行编码,则应执行另一个步骤:转到常规并将Windows应用商店应用程序支持设置为true

要创建C++/CX桌面应用程序:

C/C++ -> General项目属性中,将Consume Windows Runtime Extension设置为Yes

在同一选项卡中,将这些文件输入到Additional #using Directories中,输入包含windows.winmdplatform.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.FoundationContract\2.0.0.0

然后调用RoInitialize或使用WinRT主样式函数(删除有关主线程的警告C4447(:

using namespace Platform;
int main(Array<String^>^ args) ....

参考文献:
在桌面应用程序中使用C++/CX,
从桌面应用程序调用Windows 10 API

相关文章: