在工程设置里面选择“使用MFC做为静态链接库”进行编译,一切正常
但是如果设置成“使用MFC做为共享dll”编译时就会出错,提示:'
D:\我的毕业设计\hchqq\DChatDlg.cpp(65) : warning C4273: 'protected: static struct AFX_MSGMAP const CDChatDlg::messageMap' : inconsistent dll linkage.dllexport assumed.
D:\我的毕业设计\hchqq\DChatDlg.cpp(65) : error C2491: 'CDChatDlg::messageMap' : definition of dllimport static data member not allowed
------错误提示附近代码-------------------------------------------------
void CDChatDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDChatDlg)
DDX_Control(pDX, IDC_STATIC_SYSTEM_INFO, m_static_info);
DDX_Control(pDX, IDC_CHECK_WANT_BACK, m_bnt_wantback);
DDX_Control(pDX, IDC_RICHEDIT_TEMP, m_temp_edit);
DDX_Control(pDX, IDC_STATIC_FACE, m_static_face);
DDX_Control(pDX, IDC_BUTTON_FACE, m_bnt_face);
DDX_Control(pDX, IDC_SEND_EDIT, m_send);
DDX_Control(pDX, IDC_RECIVE_EDIT, m_recive);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDChatDlg, CDialog)/*---------就是这一行错了-------*/
//{{AFX_MSG_MAP(CDChatDlg)
ON_MESSAGE(WM_FRIEND_MESSAGE_GET, OnGetFriendMessage)
ON_MESSAGE(WM_FRIEND_MESSAGE_GET_BACK, OnBackMessageArray)
ON_MESSAGE(WM_FILE_RECIVE_INFO, OnReciveFile)
ON_MESSAGE(WM_USER_LOGIN_OR_OUT, OnUserLoginout)
ON_BN_CLICKED(IDC_SIDE_BUTTON, OnSideButton)
ON_BN_CLICKED(IDC_SEND_BUTTON, OnSendButton)
ON_BN_CLICKED(IDC_LIST_BUTTON, OnListButton)
ON_BN_CLICKED(IDC_CLOSE_BUTTON, OnCloseButton)
ON_BN_CLICKED(IDC_RECORD_BUTTON, OnRecordButton)
ON_WM_CLOSE()
ON_WM_SETCURSOR()
ON_BN_CLICKED(IDC_STATIC_FACE, OnStaticFace)
ON_COMMAND(ID_MENUITEM_SMILE, OnMenuitemSmile)
ON_COMMAND(ID_MENUITEM_KU, OnMenuitemKu)
ON_COMMAND(ID_MENUITEM_HAN, OnMenuitemHan)
ON_COMMAND(ID_MENUITEM_GOOD, OnMenuitemGood)
ON_COMMAND(ID_MENUITEM_KUU, OnMenuitemKuu)
ON_COMMAND(ID_MENUITEM_LIKE, OnMenuitemLike)
ON_COMMAND(ID_MENUITEM_OK, OnMenuitemOk)
ON_COMMAND(ID_MENUITEM_PORSE, OnMenuitemPorse)
ON_COMMAND(ID_MENUITEM_THANK, OnMenuitemThank)
ON_COMMAND(ID_MENUITEM_YES, OnMenuitemYes)
ON_COMMAND(ID_MENUITEM_EN, OnMenuitemEn)
ON_COMMAND(ID_MENUITEM_XIAO, OnMenuitemXiao)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
--------------------------------------------------------
各位有没有碰上过这种情况,是怎么解决的? 我在网上找到了一些,都说是编译dll时出现的问题,但我不是在编译dll啊,只是普通的对话框
vc6啊 我没装2005
不过就是修改了winver的定义,改成xp的版本号
___________________________________________________
messageMap 不是我添加的变量啊,如果要改的话要改mfc的头文件(见我的马甲kingstarer补充)
---------------------------------------------------
|