Приложение UWP c++ winrt показывает, что SHGDNF не идентифицирован в ShObjldl_core.h
Я перемещаю приложение ac# .netcore в настольный мост UWP. Я могу развернуть и собрать приложение, но при добавлении компонента 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 <winrt\windows.storage.provider.h>
#include <winrt\Windows.Security.Cryptography.h>
#include <ppltasks.h>
#include <strsafe.h>`
1 ответ
Вы можете нажать F12 , чтобы просмотреть документ, и вы увидите, что
#if
утверждение
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
в котором говорится, что файл заголовка можно использовать для настольных приложений Win32(но не для приложений магазина). Поэтому проект компонента C++/Winrt не является приложением Win32.
ShObjIdl_core.h
заголовок не может быть использован в проекте.