首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么又VC6.0开发发环境的dll,调用LoadLibrary加载dll成功,没有装VC6.0的系统则不成功?解决办法

2012-02-09 
为什么又VC6.0开发发环境的dll,调用LoadLibrary加载dll成功,没有装VC6.0的系统则不成功?AA.dll为MFCdll,在

为什么又VC6.0开发发环境的dll,调用LoadLibrary加载dll成功,没有装VC6.0的系统则不成功?
AA.dll   为MFC   dll,在AA.dll中调用了第三方的COM库,   编译时有warning:mfcs42d.lib(dllmodul.obj)   :   warning   LNK4006:   _DllMain@12   already   defined   in   MSVCRT.lib(dllmain.obj);   second   definition   ignored。

在另一个进程中调用了这个AA.dll,用windbg调试release版本发现只要装了VC6.0   开发环境的系统时LoadLibrary成功,否则失败。(   不知道这个dll用到了那个VC6.0的特有的库?)

请大家帮我想想原因和解决办法?

[解决办法]
用depends看dll的依赖库
[解决办法]
额……mfcdll肯定要带上mfc滴库啊 要不就静态编译MFC哇
[解决办法]
把你开发的DLL的系统库连接属性改成static link这样dll就不再依赖于VC6的系统库了。

热点排行