用向导生成了一个静态连接的dll程序,但不想用什么.def文件输出,于是加入了一个DllMain,把原来向导生成的部分删掉了,但链接时却出现如下错误:
nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in Trans_Main.obj如何解决?谢谢!在线等待!

解决方案 »

  1.   

    将设置中的预处理定义中的_USRDLL删除,一切正常。但这样对我的程序没有什么影响吧?_USRDLL这个定义是什么意思?起什么作用?
      

  2.   

    先清洁再rebuild all试下但不想用什么.def文件输出,于是加入了一个DllMain
    .def与DllMain没什么关联你不用.def就 declspec dllexport了你的DLL是基于是console的吗? 试试用多线程运行库 MultiThreaded,
      

  3.   

    我是想用__declspec dllexport,但用这个好象必须要有一个出入口函数,比如dllmain.
    用向导生成的程序里,用的.def输出,这种则不需要dllmain.
      

  4.   

    _USRDLL表示这个dll是一个win32 DLL, 不包含MFC运行时库