Code::Blocks 中的 GetCurrentHwProfile (C)
我试图使用以下代码从 Code::Blocks IDE 中的 C 窗口获取 GUID:
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <stdio.h>
void getHWID()
{
HW_PROFILE_INFO hwProfileInfo;
if(GetCurrentHwProfile(&hwProfileInfo))
{
printf("Hardware GUID: %s\n", hwProfileInfo.szHwProfileGuid);
printf("Hardware Profile: %s\n", hwProfileInfo.szHwProfileName);
}
}
即使我正在链接并包含所需的所有文件,我仍然收到这些错误:
在函数“getHWID”中:警告: 函数的隐式声明 '获取当前硬件配置文件'
在函数
getHWID' 中:未定义 引用
GetCurrentHwProfile'||=== 构建完成:1 个错误,1 个 警告===|
如果有人遇到过这个问题或知道如何解决它,请告诉我。另外,如果我右键单击 HW_PROFILE_INFO
或 GetCurrentHwProfile
并单击查找声明,它会显示未找到。
我想让这个工作发挥作用,但我也愿意接受其他简单的方法来完成这个工作。
编辑:我现在已经包含了 Winbase.h,它找到了 HW_PROFILE_INFO
的声明,但我仍然收到 GetCurrentHwProfile
的未定义引用错误
I am trying to get the GUID from windows in C in the Code::Blocks IDE with the following code:
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <stdio.h>
void getHWID()
{
HW_PROFILE_INFO hwProfileInfo;
if(GetCurrentHwProfile(&hwProfileInfo))
{
printf("Hardware GUID: %s\n", hwProfileInfo.szHwProfileGuid);
printf("Hardware Profile: %s\n", hwProfileInfo.szHwProfileName);
}
}
I keep getting these errors even though I am linking and including all the files required:
In function 'getHWID': warning:
implicit declaration of function
'GetCurrentHwProfile'In function
getHWID': undefined
GetCurrentHwProfile'
reference to||=== Build finished: 1 errors, 1
warnings ===|
Let me know if anyone has had this problem or know how to fix it. Also if I right click HW_PROFILE_INFO
or GetCurrentHwProfile
and click Find Declaration it says not found.
I would like to get this to work, but I am also open to other simple ways to get this done.
edit: I've included Winbase.h now and it found a declaration for HW_PROFILE_INFO
but I still get a undefined reference error for GetCurrentHwProfile
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否配置了 Code::Blocks 以包含正确的 SDK(我相信此函数是 Windows SDK 的一部分)?我建议使用 Microsoft Visual Studio 编写 Windows 代码。
编辑:我不确定这是否是您需要做的全部,但是他们的 wiki 关于如何使用微软的编译器。
Have you configured Code::Blocks to include the correct SDK (I believe this function is part of the Windows SDK)? I suggest using Microsoft Visual Studio to write Windows code.
EDIT: I'm not sure if this is all you need to do, but there is a section in the their wiki about how to use the Microsoft's compiler.
更改
为
或添加
看看 GetCurrentHwProfile 不是使用 MinGW 的 g++ 编译器在此范围内声明
Change
to
or add
have a look GetCurrentHwProfile was not declared in this scope using MinGW's g++ compiler