C++ 链接器错误LNK1120后跟LNK2001

C++ 链接器错误LNK1120后跟LNK2001,c++,dll,mfc,linker,dllexport,C++,Dll,Mfc,Linker,Dllexport,我有一个MFC Dll,我试图从中导出某些函数。 这些函数已以以下形式导出: BOOL WINAPI ProcessIdle(); BOOL WINAPI someFunc(); 在头文件中,实现在.cpp文件中。 头文件 .def文件 这些函数也已在.def文件中定义 创建DLL时,我可以通过dependencyWalker看到函数someFunc确实正在导出 不幸的是,我尝试引用函数的应用程序报告了一个LNK1120,后面是LNK2001错误 我不明白,因为另一个导出的函数ProcessI

我有一个MFC Dll,我试图从中导出某些函数。 这些函数已以以下形式导出:

BOOL WINAPI ProcessIdle();
BOOL WINAPI someFunc();
在头文件中,实现在.cpp文件中。 头文件

.def文件

这些函数也已在.def文件中定义

创建DLL时,我可以通过dependencyWalker看到函数someFunc确实正在导出

不幸的是,我尝试引用函数的应用程序报告了一个LNK1120,后面是LNK2001错误

我不明白,因为另一个导出的函数ProcessIdle工作得很好,而我自己的函数someFunc却不行

我尝试过用stdcall甚至uDeclSpec dllexport替换调用WINAPI,但没有效果


请告知。

链接器错误与DLL的外观无关。只有DLL的导入库才重要。最明显的解释是,你只是忘记告诉链接器。请发布链接器的确切错误。LNK2001通常与LNK1120配对。这两个错误都表明缺少外部符号。这通常意味着符号中的一个没有正确导出,B符号没有用正确的链接声明,C符号既不来自C,也不使用C++代码,而不包含外部C,d包含该实现的库或对象文件不提供给链接器,或者根本没有符号的实现。将代码发布在导出函数的头文件中。错误LNK2001:未解析的外部符号_someFunc@0是链接器错误。
#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
EXPORTS
    ; Explicit exports can go here
    CreateDialoge                @2
    FilterDllMsg                 @4
    ProcessDllIdle               @5
    someFunc                     @6