我做了一个DLL,之前编译还好好的,而且好像也没有改动过些什么,但今天早上再编译时就出错了……哎!
出错信息如下:正在编译...
3DS.cpp
正在链接...
mfcs71d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
mfcs71d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 已在 MSVCRTD.lib(dllmain.obj) 中定义;已忽略第二个定义
正在创建库 Debug/3DS.lib 和对象 Debug/3DS.exp
..\..\..\bin/3DS.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
出错信息如下:正在编译...
3DS.cpp
正在链接...
mfcs71d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
mfcs71d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 已在 MSVCRTD.lib(dllmain.obj) 中定义;已忽略第二个定义
正在创建库 Debug/3DS.lib 和对象 Debug/3DS.exp
..\..\..\bin/3DS.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
解决方案 »
- GetRecordInfoFromGuids(LIBID_MCCOMLib, 1, 0, LOCALE_USER_DEFAULT,__uuidof(_AREAINFO), &pRI); 返回旧的格式或者无效类型库 ,不知道原因所在????
- 队列化消息和非队列化消息是怎么产生的,别贴文章,中英文版本我都有.
- 求DirectX 9.0 SDK
- 我想用 vc 做一个进销存的软件,界面很多,不好用 MDI ,SDI ,也不可能用很多 dialog ,
- 如何把整个文件夹的文件靠到另外一个文件夹里,包括文件夹里的文件夹
- 如何获得可执行文件的版本信息?
- UDP->成功发送两次后出现问题?
- MFC单选框加载位图的方法
- VC主框架程序的主界面中被分成若干区域
- 公司要重新做包装,要我写解决方案,谁能给我一份???
- 为何加载WebBrowser控件会出现内存溢出
- !!SOS!!mshtml.dll出错,怎么处理?
我的工程其实很简单,只是建立了一个MFC的DLL(好像在VC2003里无法建立不是MFC的DLL?),然后我另外创建了一个类在别的文件里。最后把那个类包含进DLL的头文件,并写了extern "C" __declspec(dllexport) C3DSReader* CreateObjectofC3DSReader()的输出而已。其他东西都没有碰过啊?奇怪!!!
2.link 的edit设定中nodefaultlib:"MSVCRTD.lib"
3.检查设定的编译路径,使用defautl的路径,就是vc自带的再试试看