我想在一个DLL中用MFC(CString),但是连接的时候出现这几个错:mfcs42d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in NetSend.obj
mfcs42d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in NetSend.obj; second definition ignored
   Creating library Debug/NetSend.lib and object Debug/NetSend.exp
NetSend.obj : error LNK2001: unresolved external symbol "public: unsigned short * __thiscall CString::AllocSysString(void)const " (?AllocSysString@CString@@QBEPAGXZ)这是怎么回事啊?

解决方案 »

  1.   

    如果你是用的MFC 建立的DLL,是完全能够使用MFC中的类的.
    你是不是在NetSend.h这个文件中也申明了DllMain啊!
    其实MFC DLL在建立的时候已经构造了DllMain的.
      

  2.   

    创建Dll工程时要选择支持MFC才能够使用MFC中的类。
      

  3.   

    在MFC下才能用。如果是你自定义的非MFC函数里面用,就不行
      

  4.   

    mfc开发的dll,只要打包的时候包含了mfc库,就可被其他的应用程序调用,我觉得你是不是头文件没有处理好,或者是变量定义,导出导入函数有些问题,仔细确定一下吧,