2011-04-11 56 views
0

我試圖從窗口獲得GUID關於C中的代碼::塊IDE用下面的代碼:GetCurrentHwProfile在代碼::塊(C)

#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':警告:功能 隱含聲明 'GetCurrentHwProfile'

在功能getHWID': undefined reference to GetCurrentHwProfile'

|| ===構建完成:1個錯誤,1個 警告=== |

讓我知道是否有人有這個問題或知道如何解決它。另外如果我點擊HW_PROFILE_INFOGetCurrentHwProfile並點擊查找聲明它說沒找到。

我想讓這個工作,但我也打開其他簡單的方法來完成這件事。

編輯:我已經包括WINBASE.H現在它找到了一個聲明HW_PROFILE_INFO但我仍然得到一個未定義引用錯誤GetCurrentHwProfile

回答

0

你有沒有配置代碼::塊,包括正確的SDK(我相信這個函數是Windows SDK的一部分)?我建議使用Microsoft Visual Studio編寫Windows代碼。

編輯:我不確定這是你需要做的全部事情,但是在他們的wiki中有關於如何使用微軟編譯器的章節。

+0

我一直用我所有的窗戶,GCC作爲編程代碼塊我的編譯器和這是我遇到過的唯一問題(我主要做winsock編程),我安裝了MS SDK,這也沒有幫助(我連接AdvAPI32.lib也是這個功能使用,但仍然沒有去)。 ..所以我仍然不知道什麼是錯的。 – abduct 2011-04-11 04:08:59

+0

鏈接一個庫不會讓神奇的符號得到聲明。你需要包含win32頭文件。 – Blindy 2011-06-11 17:14:19

+0

第2行是否包含標題? – 2011-06-13 16:30:01