C++ 错误:LNK2019:未解析的外部符号;“外部”;";

C++ 错误:LNK2019:未解析的外部符号;“外部”;";,c++,mfc,C++,Mfc,这些未解决的外部问题有什么不对?我试图在MFC应用程序的InitInstance中实现这一点。但是我从调试器中得到了这个行错误 LNK2019: unresolved external symbol "extern "C" int __stdcall EnumProcesses(unsigned long *,unsigned long,unsigned long *)" (?EnumProcesses@@$$J212YGHPAKK0@Z) referenced in function "pub

这些未解决的外部问题有什么不对?我试图在MFC应用程序的
InitInstance
中实现这一点。但是我从调试器中得到了这个行错误

LNK2019: unresolved external symbol "extern "C" int __stdcall EnumProcesses(unsigned long *,unsigned long,unsigned long *)" (?EnumProcesses@@$$J212YGHPAKK0@Z) referenced in function "public: virtual int __thiscall COkApp::InitInstance(void)" (?InitInstance@COpenEyeProcessApp@@$$FUAEHXZ)
以下是
OkApp
文件:

OkApp.h

//...
#include <psapi.h>
//...
知道我的项目被编码为
Unicode项目
,我该如何解决这个问题


有什么好主意吗?

看起来
enumprocess
在头文件中声明了
extern“C”
,但不在源文件中。两者必须一致。要么将两者都更改为
extern“C”
(如果您打算在C中使用
EnumProcesses
),要么删除标题中的
extern“C”


编辑:或者您在调用链接器时忘记添加包含
枚举进程的库。

您需要链接Psapi.lib

#pragma comment(lib, "Psapi.lib") 

你链接到Psapi.lib库了吗?@MichaelWalz,没有,请告诉我怎么处理?在项目属性->配置属性->链接器->输入->附加依赖项中添加Psapi.lib,或者按照CodeDreamer的回答中的建议做。你能更详细地描述一下吗?首先你应该给出更多细节。
enumprocess
是您自己编写的东西的一部分,还是您想要使用的API的一部分?它是来自
#include
的一部分。那么,“编辑”之后的部分就错了。但是你似乎已经在CodeDreamers的帮助下解决了这个问题。在
.cpp
文件还是
.h
文件中?我需要删除
#include
行吗?只需在你的.cpp中输入#include.请问
#pragma comment
是什么意思?
#pragma comment
可以以多种方式使用。在本例中,它用于链接库。但是,
\include
\pragma comment
之间有什么区别?
#pragma comment(lib, "Psapi.lib")