2014-01-26 50 views
3

我試圖用計算在C語言的Windows上的當前進程的主內存使用:未定義參考getprocessmemoryinfo @ 12

WINDOWS.H psapi.h

PROCESS_MEMORY_COUNTERS_EX pmc; 
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)); 
SIZE_T physMemUsedByMe = pmc.WorkingSetSize; 

它給我錯誤:

undefined reference to [email protected]

任何想法如何解決這個問題?我的編譯器是mingw32-gcc.exe

+0

你能指定確切的平臺(Windows版本,編譯器品牌和版本)嗎? – ugoren

+0

Windows,編譯器 - mingw32-gcc.exe – user3213918

+0

您是否將PSAPI庫與'-lpsapi'鏈接起來?你能顯示你的構建命令嗎? –

回答

8

聲明函數的頭文件被編譯器用來編譯你的代碼。鏈接器雖然確實需要使用的外部函數的定義。通常在導入庫中提供。錯誤消息告訴你鏈接器沒有這樣的定義。

鏈接與

-lpsapi 

爲用戶提供適當的導入庫鏈接。

+0

它工作。謝謝 – user3213918

+1

我不知道如何接受答案....請你幫幫我。 – user3213918

+0

當然可以。閱讀這篇http://meta.stackexchange.com/questions/5234/ –