我按照你的空间里的代码写了 导出静态控件的类的动态库。只在BEGIN_MESSAGE_MAP()这个地方出现了错误。
错误如下:
DllCallStatic.cpp
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: '_GetBaseMessageMap' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: 'GetMessageMap' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: 'protected: static struct AFX_MSGMAP const CMultiStatic::messageMap' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : error C2491: 'CMultiStatic::messageMap' : definition of dllimport static data member not allowed
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: 'private: static struct AFX_MSGMAP_ENTRY const * const CMultiStatic::_messageEntries' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : error C2491: 'CMultiStatic::_messageEntries' : definition of dllimport static data member not allowed
DllCallStaticDlg.cpp
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: '_GetBaseMessageMap' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: 'GetMessageMap' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: 'protected: static struct AFX_MSGMAP const CMultiStatic::messageMap' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : error C2491: 'CMultiStatic::messageMap' : definition of dllimport static data member not allowed
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : warning C4273: 'private: static struct AFX_MSGMAP_ENTRY const * const CMultiStatic::_messageEntries' : inconsistent dll linkage.  dllexport assumed.
e:\jiami\mfc\dllstatic\dllstatic\cmultistatic.h(23) : error C2491: 'CMultiStatic::_messageEntries' : definition of dllimport static data member not allowed
Generating Code...
Error executing cl.exe.
请问这怎么改啊?

解决方案 »

  1.   

    Suck,那例子下不了了,我试了一个,没问题啊。你怎么弄的?
      

  2.   

    我自己写的,看他日志里的代码就可以啦。干嘛非要看到源代码呢,自己分析一下嘛。但是我实在不知道我代码里的错误。
    为什么说definition of dllimport static data member not allowed呢?
    我没有定义过 静态成员 啊。
      

  3.   

    可不可以加我qq聊啊。这样好一些。
    qq:893831352
      

  4.   

    你建工程的时候类型选错了,应该是MFC扩展。