gpt4 book ai didi

c++ - 对 GUID_DEVINTERFACE_XXX 的 undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:20 25 4
gpt4 key购买 nike

我正在尝试在函数 SetupDiGetClassDevs 中使用 GUID_DEVINTERFACE_DISK(或 _FLOPPY... 等),但由于 undefined reference ,g++ 仍然无法构建。

我已链接到 SetupAPI 并根据需要包含 nstddstor.h ( http://msdn.microsoft.com/en-us/library/windows/hardware/ff545824%28v=vs.85%29.aspx )。

我看到包含 initguid.h 可能会解决问题,但它不适合我。

此外,当我尝试影响 GUID 变量时GUID g = GUID_DEVINTERFACE_DISK;如果我将鼠标放在 GUID_DEVINTERFACE_DISK 上,eclipse 会向我显示它的定义位置 (nstddstor.h),但在编译之后,它仍然不起作用。

有什么解决办法吗?

最佳答案

我手边没有 Windows DDK,所以我无法验证它,但是 a user on another forum reports that it works by including initguid.h before ntddstor.h ,因此以下可能有效:

#include <initguid.h>
#include <ntddstor.h>
#include <Setupapi.h>

// Code copied from:
// http://msdn.microsoft.com/en-us/library/windows/hardware/ff551069.aspx
int main(void) {
HDEVINFO hDevInfo;
hDevInfo = SetupDiGetClassDevs(&GUID_DEVINTERFACE_VOLUME,
NULL, NULL, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE);
}

cl /nologo /W4 /EHsc /MD guid.cpp Setupapi.lib

关于c++ - 对 GUID_DEVINTERFACE_XXX 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619353/

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