笔者的写一个组件时,开始之初没有考虑到支持mfc,后来需要支持对话框设置,加入mfc支持,编译不通过,
1>AudioVista.obj : error LNK2005: _DllMain@12 已经在 mfcs80ud.lib(dllmodul.obj) 中定义
1>Debug/AudioVista.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
出现这个提示,根据笔者的猜想,在mfc库中已经定义了DllMain这个默认的处理函数,去掉atl生成的DllMain
将这段代码去掉后,就可以了,省得再去重建工程,加入文件麻烦。
//#ifdef _MANAGED
//#pragma managed(push, off)
//#endif
//
////// DLL 入口点
//extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
//{
// hInstance;
// return _AtlModule.DllMain(dwReason, lpReserved);
//}
//
//#ifdef _MANAGED
//#pragma managed(pop)
//#endif
//