UWP c++ winrt应用程序显示SHGDNF在ShObjldl_core.h中未识别



我正在将一个c# .netcore应用程序移动到UWP桌面桥。我能够部署和构建应用程序,但是当添加c++ winrt组件时,我得到一个错误,指示SHGDNF在ShObjldl_core.h中身份不明,下面是pch.cpp

`#pragma once
#include <stdio.h>
#include <tchar.h>
#include <Unknwn.h>
#include <winrt/base.h>
#include <shlwapi.h>
#include <pathcch.h>
#include <ShlGuid.h>
#include <ShObjIdl_core.h>
#include <ShlObj_core.h>
#include <cfapi.h>
#include <ntstatus.h>
#include <sddl.h>
#include <winrtwindows.storage.provider.h>
#include <winrtWindows.Security.Cryptography.h>
#include <ppltasks.h>
#include <strsafe.h>`

可以按F12ShObjIdl_core.h上查看文档,你会看到#if语句#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)说头文件可用于桌面Win32应用程序(但不是存储应用程序)。c++/Winrt组件项目不是Win32应用程序,因此,ShObjIdl_core.h头不能在项目中使用。

相关内容