我是新手使用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 kits \ 10 \ include \ 10.0.17744.0 \ winrt \ windows.ui.composition.interop.h(100):错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int
我试图找出导致问题的类型,但我无法弄清楚windows.ui.composition.interop.h
第100行的哪一个是有问题的。
我怎么解决这个问题?
第100行有一个宏,要求我包含“combaseapi.h”。