我在VS2010中有一个C ++项目,并在VS2013中进行升级。我正在使用win7操作系统,它工作正常。输出是一个exe文件,我试图在Vista操作系统中运行这个可执行文件,但它崩溃了显示错误信息为"程序入口点K32EnumProcessModules无法位于动态链接lybrary KERNEL32.dll" 我该如何解决这个问题?
答案 0 :(得分:1)
请参阅EnumProcessModules
的文档,特别是此部分:
必须在早期版本的Windows以及Windows 7及更高版本上运行的程序应始终将此函数称为EnumProcessModules。要确保正确解析符号,请将Psapi.lib添加到TARGETLIBS宏并使用-DPSAPI_VERSION = 1编译该程序。要使用运行时动态链接,请加载Psapi.dll。
这基本上意味着:
在代码中使用EnumProcessModules
链接到Psapi.lib
将PSAPI_VERSION=1
设置为预处理器定义