在包含Windows标题时难以解决循环依赖问题

问题描述 投票:-1回答:1

我是新手使用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行的哪一个是有问题的。

我怎么解决这个问题?

c++ circular-dependency c++-winrt
1个回答
1
投票

第100行有一个宏,要求我包含“combaseapi.h”。

© www.soinside.com 2019 - 2024. All rights reserved.