2014-01-26 32 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/ –