在 Vista 中找不到入口点错误 OS

Entry point not found error in Vista OS

我在 VS2010 中有一个 C++ 项目,并在 VS2013 中升级它。我正在使用 win7 os 并且运行良好。输出是一个 exe 文件,我试图在 Vista OS 中 运行 这个可执行文件,但它崩溃并显示错误消息 "The procedure entry point K32EnumProcessModules could not be located in the dynamic link lybrary KERNEL32.dll" 我该如何解决这个问题?

请参阅 EnumProcessModules 的文档,特别是这部分:

在 Windows 的早期版本以及 Windows 7 和更高版本上必须 运行 的程序应始终将此函数称为 EnumProcessModules。为确保正确解析符号,请将 Psapi.lib 添加到 TARGETLIBS 宏并使用 -DPSAPI_VERSION=1 编译程序。要使用 运行 时间动态链接,加载 Psapi.dll.

这基本上意味着:

在代码中使用 EnumProcessModules

Link 到 Psapi.lib

PSAPI_VERSION=1 设置为预处理器定义