社区
进程/线程/DLL
帖子详情
自己开发的DLL,在2000上可以加载,在新装的xp上却加载失败,loadlibrary返回的是空值!
wd_6532
2005-01-07 02:20:36
扩展的.dll
烦恼!
...全文
293
20
打赏
收藏
自己开发的DLL,在2000上可以加载,在新装的xp上却加载失败,loadlibrary返回的是空值!
扩展的.dll 烦恼!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iceheart
2005-01-13
打赏
举报
回复
回复人: wd_6532(无心) ( ) 信誉:99
to iceheart
你用什么,就可以不用关心是否能在客户系统上运行起来了??
-----------------------
我用SDK方式,创建一个win32 Dynamic-Link Library,自己添代码
wd_6532
2005-01-11
打赏
举报
回复
明白了!
如果是共享链接,就会报错 找不到什么mfc*.dll
如果是静态链接,就会 loadlibrary返回空值
解决方法:
不管是静态链接还是共享链接,我的程序都必须把
MSVCRTD.DLL,MFCO42D.DLL,MFCD42D.DLL,MFC42D.DLL全部拷到运行系统上.
可能静态链接只需要其中的几个,但是我还是全部拷贝了.
to gaoshengqiang
你肯定也是这个问题吧.
wd_6532
2005-01-11
打赏
举报
回复
to iceheart
你用什么,就可以不用关心是否能在客户系统上运行起来了??
wd_6532
2005-01-11
打赏
举报
回复
up
wd_6532
2005-01-10
打赏
举报
回复
broown
就是静态连接.
wd_6532
2005-01-10
打赏
举报
回复
to icehear:
对啊,我上面说了,是扩展的,MFC扩展DLL.
gaoshengqiang
2005-01-10
打赏
举报
回复
我也遇到了同样的问题,在我的XP上能加载,在同事的XP上就是加载不了,至今未果
iceheart
2005-01-10
打赏
举报
回复
用了MFC的DLL需要静态连接,否则就需要将mfc42.dll、mfc42d.dll、mfc42u.dll、mfc42ud.dll(可能还有其他的)等复制到系统目录下。
我不喜欢mfc,主要就是这个原因。
wd_6532
2005-01-10
打赏
举报
回复
up
wd_6532
2005-01-10
打赏
举报
回复
to oyljerry:
没有MFC环境,就loadlibrary返回空值吗?
可是有的dll是可以取得句柄的而不报错误的.
oyljerry
2005-01-10
打赏
举报
回复
XP上有没有MFC环境
hyamw
2005-01-08
打赏
举报
回复
这就没碰到过了。检查路径有没有问题?或者可能是 tonyswe(tong) 说得那样。
iceheart
2005-01-07
打赏
举报
回复
是不是用MFC了?
hongtog
2005-01-07
打赏
举报
回复
上次曾遇到过在2000上加载失败,loadlibrary返回的是空值!
后来一查才知道是2000的bug,打上server packet 4就可以了。
参考:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;327194
Windows 2000 Service Pack 4 中修复的错误的列表
里面就有:
324673 LoadLibrary() 函数找不到 DLL 名称
不知xp是否也有bug
broown
2005-01-07
打赏
举报
回复
你使用静态连接试试
liweiiewil
2005-01-07
打赏
举报
回复
可能不是2000与XP的问题,是电脑中是否有VC的问题,你在一台没有VC的2000下运行试试呢?
wd_6532
2005-01-07
打赏
举报
回复
to hyamw:
那还得在xp上装vc啊,机器是别人的.
比如有a.dll,b.dll
a.dll 在我的2000上可以加载,在一个同事的xp上也能加载.
b.dll 在我的2000上可以加载,在他的xp上却加载失败.
下面是代码
HMODULE hDllModule=LoadLibrary(strFilePath);
if (hDllModule==NULL)
{
strTip="路径为";
strTip+=strFilePath;
strTip+="的DLL 加载失败";
AfxMessageBox(strTip);
return;
}
hyamw
2005-01-07
打赏
举报
回复
用GetLastError()看看错误信息
xuzheng318
2005-01-07
打赏
举报
回复
可能是一些服务你没有开,xp比2000多了好多
oyljerry
2005-01-07
打赏
举报
回复
应该不会啊,再检查一下
Eclipse+Java+OpenCV246人脸识别
Eclipse+Java+OpenCV246人脸识别。具体详见;http://blog.csdn.net/nupt123456789/article/details/10011693/
VS下使用
Load
Library
加载
dll
失败
VS下使用
Load
Library
加载
dll
失败
记录一下
失败
经历。 今天自己写了一个
dll
,同时写了一个测试程序,顺利
加载
成功。但是移植到另一个程序中后总是
加载
失败
,通过GetLastError得到的
返回
值为126.但是我的
dll
明明是正确的,在测试程序中都
加载
成功了的。 然后到网上各种查出错的解决办法,有说使用
Load
Library
Ex函数的,有说使用TEXT(“绝对路径”)的。但是并没有解决。...
加载
动态库
失败
(
load
Library
返回
为空)的几种解决办法
如果遇到了以下几种问题,也许可以在本文找到解决方法: 一、版本更新后,原本正常的功能突然无法使用了; 二、VS编译的时候,弹出“xxx(win32):已
加载
“xx.
dll
”, xxx(win32):已卸载“xx.
dll
”” 如图所示: 三、经排查和调试,确认是
Load
Library
宏
返回
的动态库句柄为空导致的,并且利用GetLastError函数获取的错误代码为126; 那么你可能跟我一样,遇到了
加载
动态库
失败
的问题。 这个问题网上有很多解决办法,但有些写的不是很详细,在这里汇总一下: 1)路径问题。
在Qt中使用
Load
Library
无法
加载
DLL
在Qt中使用
Load
Library
无法
加载
DLL
load
library
加载
三方
dll
失败
问题。
前几天,在联网测试三方的
dll
,但是出现
dll
放到exe目录下面可以正常
加载
,如果单独放一个目录却出现126错误代码,找不到指定的模块。 由于三方
dll
使用zlib版本和exe使用的zlib版本不同,所以三方的
dll
又不能放到exe目录中,必须单独新建目录。于是在网上搜索得到以下解决方案: 方式一 采用
Load
Library
Ex 若
DLL
不在调用方的同一目录下,可以用
Load
Library
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章