gpt4 book ai didi

c - 我应该链接哪个库才能获得 WinRT "EXTERN_C const IID IID___x_ABI_*"的正确定义

转载 作者:行者123 更新时间:2023-11-30 14:40:22 27 4
gpt4 key购买 nike

Here是一些使用 windows.gaming.input.h API 的原始 C 代码:

    HSTRING gamepadClassName;
if (FAILED(WindowsCreateString(RuntimeClass_Windows_Gaming_Input_Gamepad,
HbArrayLength(RuntimeClass_Windows_Gaming_Input_Gamepad) - 1, &gamepadClassName))) {
Error("Failed to create a WinRT string reference for Windows.Gaming.Input.Gamepad class name.");
}
static IID const gamepadStaticsInterfaceID = { 0x8BBCE529, 0xD49C, 0x39E9, { 0x95, 0x60, 0xE4, 0x7D, 0xDE, 0x96, 0xB7, 0xC8 } };
if (FAILED(RoGetActivationFactory(gamepadClassName, &gamepadStaticsInterfaceID, &HbInputi_Windows_Gamepad_Statics))) {
Error("Failed to get the IGamepadStatics activation factory for Windows.Gaming.Input.Gamepad.");
}
WindowsDeleteString(gamepadClassName);

有什么方法可以摆脱代码中的这个 gamepadStaticsInterfaceID GUID 定义吗?我尝试使用在 windows.gaming.input.h header 中声明的 IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics ,但随后出现错误 LNK2001:无法解析的外部符号 IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics。我应该链接哪个库才能正确定义 IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics

最佳答案

这似乎不包含在 SDK 中。

通常,这来自像 uuid.lib 这样的库。但是,我没有看到任何证据表明 Windows.Gaming(或我抽查过的其他 winrt 类型)的 IID 在 Windows SDK 的任何库中以这种方式提供。 winrt 类型支持 C 用法,但使用很少。

明天回到办公室时,我会打开一个错误来跟踪此情况。目前,您唯一的选择是在代码中定义 GUID,就像您在此处所做的那样。

本·库恩 (MSFT)

关于c - 我应该链接哪个库才能获得 WinRT "EXTERN_C const IID IID___x_ABI_*"的正确定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55573362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com