GetProcessImageFileName没有链接

时间:2012-09-17 15:15:05

标签: c++ visual-studio-2008

我试图使用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中,所以有人能告诉我为什么它不会编译吗?

1 个答案:

答案 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