我试图使用GetProcessImageFileName。我已经包含了Psapi.h但是当我尝试编译时我得到了
error LNK2019: unresolved external symbol _GetProcessImageFileNameA@12 referenced in function "bool __cdecl FindProcesses(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?FindProcesses@@YA_NPBDPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)99>G:\Test\main\Tests.exe : fatal error LNK1120: 1 unresolved externals
该函数出现在Itellisense中,所以有人能告诉我为什么它不会编译吗?
答案 0 :(得分:6)
这是链接器失败(它确实编译),与包含Psapi.h
无关。您可能需要与Psapi.lib
链接。
有关要链接的库的具体说明,请参阅GetProcessImageFileName()
参考页中的库部分:
Kernel32.lib on Windows 7 and Windows Server 2008 R2; Psapi.lib (if PSAPI_VERSION=1) on Windows 7 and Windows Server 2008 R2; Psapi.lib on Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP