Я новичок в использовании интерфейсов COM, и есть один метод, который я бы хотел вызвать в моем приложении cppWinRT:
ICompositionGraphicsDeviceInterop::GetRenderingDevice()
Первая проблема, с которой я столкнулся, — это проблема круговой зависимости, когда я пытаюсь добавить #include <windows.ui.composition.interop.h>
в мой pch.h
, который в настоящее время выглядит так:
#pragma once
#include <windows.h>
#include <unknwn.h>
#include <restrictederrorinfo.h>
#include <hstring.h>
#include "winrt/Windows.Foundation.h"#include "winrt/Windows.ApplicationModel.Activation.h"#include "winrt/Windows.UI.Xaml.h"#include "winrt/Windows.UI.Xaml.Controls.h"#include "winrt/Windows.UI.Xaml.Controls.Primitives.h"#include "winrt/Windows.UI.Xaml.Data.h"#include "winrt/Windows.UI.Xaml.Markup.h"#include "winrt/Windows.UI.Xaml.Navigation.h"#include <winrt/Windows.UI.ViewManagement.h>
#include "winrt/Windows.ApplicationModel.Core.h"#include "winrt/Windows.UI.Core.h"#include <windows.ui.composition.interop.h>
Я получаю следующую ошибку компилятора:
c: \ program files (x86) \ windows windows \ 10 \ include \ 10.0.17744.0 \ winrt \ windows.ui.composition.interop.h (100): ошибка C4430: отсутствует указатель типа — предполагается, что int. Примечание: C ++ не поддерживает default-int
Я пытался выяснить, какой тип вызывает проблему, но я не могу определить, какой из них в строке 100 windows.ui.composition.interop.h
проблематично.
Как я могу решить это?
В строке 100 был макрос, который требовал, чтобы я включил «combaseapi.h».
Других решений пока нет …