无法实现MFC DLL错误LNK2019 [英] Cannot implement mfc dll error lnk2019

查看:92
本文介绍了无法实现MFC DLL错误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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆