问题描述
我正在VS 2019中从事一个项目,并尝试使用最新的winrt / c ++机器学习api。因此,我执行了以下步骤:
- 为特定项目安装Microsoft.AI.MachineLearning 1.4.0 NuGet软件包
- 构建项目
- 添加#include“ winrt / Microsoft.AI.MachineLearning.h” 不幸的是,找不到标头源文件。我在做什么错了?
解决方法
无法从NuGet包中打开microsoft.ai.machinelearning.h
在安装nuget软件包Microsoft.AI.MachineLearning 1.4.0
时,您应该使用此
#include "abi/Microsoft.AI.MachineLearning.h"
实际上,Microsoft.AI.MachineLearning.h
文件存在于您的nuget包的 abi 文件夹下。
================
更新1
我已转载了您的问题。看来我这边没有这种错误。我只是创建一个项目,然后是上面的文档,然后安装该nuget包->构建该项目,然后,我可以调用 `winrt / Microsoft.AI.MachineLearning.h。
并且 winrt c ++项目只是在构建过程中根据项目的功能将此类文件放入 Generated Files 文件夹中。
所以这是一个非常奇怪的行为,我建议您可以按照以下步骤进行故障排除:
首先,您可以先检查this document。
1)首先,关闭您的Windows Console Application (C++/WinRT)
项目,删除.vs
隐藏文件夹,所有输出文件夹,例如 Debug 或 Release 在解决方案文件夹和项目文件夹下。
2),然后重新启动项目,并确保已安装Microsoft.AI.MachineLearning 1.4.0
NuGet软件包。
然后,重新生成您的项目,并确保构建过程成功。
3)然后我可以打电话给#include "winrt/Microsoft.AI.MachineLearning.h"
。
如果这些步骤没有帮助,我认为VS或您当前的项目本身有问题。
请尝试在扩展-> 管理扩展下禁用任何其他第三方扩展,然后重新启动VS进行测试。
或者只需创建一个新的WinRT C ++项目来测试问题是否在新项目中发生。