我正在尝试导出某些功能MFC
Dll
。
这些功能已以以下形式导出:
BOOL WINAPI ProcessIdle();
BOOL WINAPI someFunc();
.cpp
文件中的实现。标题文件
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
BOOL WINAPI CreateDialoge(HWND hWndParent);
BOOL WINAPI FilterDllMsg(LPMSG lpMsg);
void WINAPI ProcessDllIdle();
BOOL WINAPI someFunc();
#ifdef __cplusplus
}
#endif
.def文件
EXPORTS
; Explicit exports can go here
CreateDialoge @2
FilterDllMsg @4
ProcessDllIdle @5
someFunc @6
这些功能也已在.def文件中定义
创建DLL
后,我可以通过dependencyWalker
看到函数someFunc()
确实正在导出。
不幸的是,我的应用程序,我试图引用该功能,报告LNK1120后跟LNK2001错误。
我不明白,因为另一个导出的函数ProcessIdle()
工作正常,我自己的函数someFunc()
没有。
我尝试用[{1}},甚至是WINAPI
替换来电_stdcall
,但无济于事。
请告知。