无法实现MFC DLL错误LNK2019 [英] Cannot implement mfc dll error lnk2019
问题描述
我正在尝试为我的mfc应用程序实现DLL,但无法使其正常工作.我在这里遵循了教程:
但是我一直收到以下错误:
Hi,
I am trying to implement a DLL for my mfc application but cannot get it to work. I followed the tutorial here:
But i keep getting the following errors:
AES.obj : error LNK2019: unresolved external symbol "public: __thiscall CAESCalc::~CAESCalc(void)" (??1CAESCalc@@QAE@XZ) referenced in function "public: virtual __thiscall CAESDlg::~CAESDlg(void)" (??1CAESDlg@@UAE@XZ)
1>AESDlg.obj : error LNK2001: unresolved external symbol "public: __thiscall CAESCalc::~CAESCalc(void)" (??1CAESCalc@@QAE@XZ)
1>AESDlg.obj : error LNK2019: unresolved external symbol "public: __thiscall CAESCalc::CAESCalc(void)" (??0CAESCalc@@QAE@XZ) referenced in function "public: __thiscall CAESDlg::CAESDlg(class CWnd *)" (??0CAESDlg@@QAE@PAVCWnd@@@Z)
1>AESDlg.obj : error LNK2019: unresolved external symbol "public: class ATL::CStringT<char,class> > > __thiscall CAESCalc::Update(unsigned char *,int,int)" (?Update@CAESCalc@@QAE?AV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@PAEHH@Z) referenced in function "public: void __thiscall CAESDlg::OnEncrypt(void)" (?OnEncrypt@CAESDlg@@QAEXXZ)
1>AESDlg.obj : error LNK2019: unresolved external symbol "public: void __thiscall CAESCalc::KeyExpansion(unsigned char * const)" (?KeyExpansion@CAESCalc@@QAEXQAE@Z) referenced in function "public: void __thiscall CAESDlg::OnKeyExpansion(void)" (?OnKeyExpansion@CAESDlg@@QAEXXZ)
1>AESDlg.obj : error LNK2019: unresolved external symbol "public: void __thiscall CAESCalc::StrToHex(unsigned char *,unsigned char *)" (?StrToHex@CAESCalc@@QAEXPAE0@Z) referenced in function "public: void __thiscall CAESDlg::OnKeyExpansion(void)" (?OnKeyExpansion@CAESDlg@@QAEXXZ)
在我的DLL项目中,我有AESCalc.cpp和AESCalc.h
在AESCalc.h中,对于我需要导出的功能:
In the project for my DLL, I have AESCalc.cpp and AESCalc.h
In AESCalc.h, for the functions that I need to export:
__declspec(dllexport) CAESCalc(void);
__declspec(dllexport) ~CAESCalc(void);
__declspec(dllexport) void KeyExpansion(BYTE InputKey[]);
__declspec(dllexport) CString Update(BYTE *Input, int nInputLen,BOOL EncryptFlag);
__declspec(dllexport) void StrToHex(BYTE *buffer, BYTE *buffer1);
我还在DLL客户端中包含了lib和DLL目录.
但是,我仍然遇到相同的错误.
I also included the lib and DLL directories in the DLL client.
But, I keep getting the same errors.
推荐答案
CStringT @ DV?
CStringT@DV?
StrTraitMFC_DLL @ DV?
StrTraitMFC_DLL@DV?
ChTraitsCRT @ D @ ATL @@@@@@ ATL @@ PAEHH @ Z)在函数"public:void __thiscall CAESDlg :: OnEncrypt(void)"中引用(?OnEncrypt @ CAESDlg @@ QAEXXZ) 1> AESDlg.obj:错误LNK2019:未解析的外部符号"public:void __thiscall CAESCalc :: KeyExpansion(unsigned char * const)"(?KeyExpansion @ CAESCalc @@ QAEXQAE @ Z)在函数"public:void __thiscall CAESDlg ::"中引用OnKeyExpansion(void)"(?OnKeyExpansion @ CAESDlg @@ QAEXXZ) 1> AESDlg.obj:错误LNK2019:未解析的外部符号"public:void __thiscall CAESCalc :: StrToHex(unsigned char *,unsigned char *)"(?StrToHex @ CAESCalc @@ QAEXPAE0 @ Z)在函数"public:void __thiscall中引用" CAESDlg :: OnKeyExpansion(void)"(?OnKeyExpansion @ CAESDlg @@ QAEXXZ)
ChTraitsCRT@D@ATL@@@@@ATL@@PAEHH@Z) referenced in function "public: void __thiscall CAESDlg::OnEncrypt(void)" (?OnEncrypt@CAESDlg@@QAEXXZ) 1>AESDlg.obj : error LNK2019: unresolved external symbol "public: void __thiscall CAESCalc::KeyExpansion(unsigned char * const)" (?KeyExpansion@CAESCalc@@QAEXQAE@Z) referenced in function "public: void __thiscall CAESDlg::OnKeyExpansion(void)" (?OnKeyExpansion@CAESDlg@@QAEXXZ) 1>AESDlg.obj : error LNK2019: unresolved external symbol "public: void __thiscall CAESCalc::StrToHex(unsigned char *,unsigned char *)" (?StrToHex@CAESCalc@@QAEXPAE0@Z) referenced in function "public: void __thiscall CAESDlg::OnKeyExpansion(void)" (?OnKeyExpansion@CAESDlg@@QAEXXZ)
在我的DLL项目中,我有AESCalc.cpp和AESCalc.h
在AESCalc.h中,对于我需要导出的功能:
In the project for my DLL, I have AESCalc.cpp and AESCalc.h
In AESCalc.h, for the functions that I need to export:
__declspec(dllexport) CAESCalc(void);
__declspec(dllexport) ~CAESCalc(void);
__declspec(dllexport) void KeyExpansion(BYTE InputKey[]);
__declspec(dllexport) CString Update(BYTE *Input, int nInputLen,BOOL EncryptFlag);
__declspec(dllexport) void StrToHex(BYTE *buffer, BYTE *buffer1);
我还在DLL客户端中包含了lib和DLL目录.
但是,我一直收到相同的错误.
I also included the lib and DLL directories in the DLL client.
But, I keep getting the same errors.
这篇关于无法实现MFC DLL错误LNK2019的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!