社区
C++ 语言
帖子详情
加载DLL失败?
patricxuqi
2009-12-15 09:29:24
自己的程序在自己的两台机器上运行都可以,但是跑到别人的机器上运行,就无法加载DLL。
看了个帖子说两个原因:1.路径。2.关联。
我用的是LoadLibrary();加载的,我试过两种方式,一种是直接写DLL名,另一种是用GetCurrentDirectory();获取文件绝对路径后再Append()文件名结果还是一样在别人那里无法LOAD,在自己这里可以。
至于DLL本身并没有加载其他DLL。为什么还会失败呢?先谢了!
...全文
174
12
打赏
收藏
加载DLL失败?
自己的程序在自己的两台机器上运行都可以,但是跑到别人的机器上运行,就无法加载DLL。 看了个帖子说两个原因:1.路径。2.关联。 我用的是LoadLibrary();加载的,我试过两种方式,一种是直接写DLL名,另一种是用GetCurrentDirectory();获取文件绝对路径后再Append()文件名结果还是一样在别人那里无法LOAD,在自己这里可以。 至于DLL本身并没有加载其他DLL。为什么还会失败呢?先谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
patricxuqi
2009-12-16
打赏
举报
回复
是恩,您说的有道理。虽然现在问题解决了,但是我再做做实验看看吧。很可能是自己昨天忙晕了。
老邓
2009-12-16
打赏
举报
回复
[Quote=引用 10 楼 patricxuqi 的回复:]
我后来发现自己的DLLMAIN不知被我什么时候从工程文件夹里移除了。添加后OK。谢谢各位!
那我觉得奇怪了如果是DLLMAIN的问题,那么在自己的机器上可以运行,跑到别人的机器上怎么又不行了呢?
[/Quote]
移除了,也是可以加载DLL的。
和这个没关系。
还是依赖库的问题。
patricxuqi
2009-12-16
打赏
举报
回复
我后来发现自己的DLLMAIN不知被我什么时候从工程文件夹里移除了。添加后OK。谢谢各位!
那我觉得奇怪了如果是DLLMAIN的问题,那么在自己的机器上可以运行,跑到别人的机器上怎么又不行了呢?
老邓
2009-12-15
打赏
举报
回复
如果不想依赖运行库,可以使用静态CRT编译。
即编译选项从/MD改成/MT。
老邓
2009-12-15
打赏
举报
回复
这里下载,安装后是否加载成功?
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
老邓
2009-12-15
打赏
举报
回复
[Quote=引用 2 楼 patricxuqi 的回复:]
depends显示:
1.kernel32.dll
2.user32.dll
3.msvcp90.dll
4.msvcr90.dll
5.ws2_32.dll
对于3和4。难道说我跑到其他装有vs2008的机器上运行就可以吗?
[/Quote]
只要安装运行库就可以了,不要求一定要安装VS2008。
hbvanguard
2009-12-15
打赏
举报
回复
写个简单的dll调用程序,拿到别人的机器debug跟踪一下就很清楚了,猜比较费劲
饽饽
2009-12-15
打赏
举报
回复
是不是要求安装框架啊
patricxuqi
2009-12-15
打赏
举报
回复
我也想打包,可是这个用VS2008写的DLL要被VC6的程序调用,而且要求代码越小越好且任何机器上都能执行。我先试试看打包行不行再说吧。
LPR_Pro
2009-12-15
打赏
举报
回复
将依赖的动态连接库打包就可以了,
patricxuqi
2009-12-15
打赏
举报
回复
depends显示:
1.kernel32.dll
2.user32.dll
3.msvcp90.dll
4.msvcr90.dll
5.ws2_32.dll
对于3和4。难道说我跑到其他装有vs2008的机器上运行就可以吗?
老邓
2009-12-15
打赏
举报
回复
还有第三个原因:运行库的依赖。
比如,是否依赖VC的运行库?
C#视频聊天室源代码(VS2008)
1、bin目录下为可执行程序,直接运行.exe即可,可实现一对一,或是一对多...2、src目录为源代码,可用VS2008编译,在编译器里面调试运行时,需要将bin目录下的
dll
和video目录拷贝到.exe目录下,否则会提示
加载
dll
失败
。
【已解决】计算机丢失d3d12.
dll
怎么办?d3d12.
dll
加载
失败
怎么办
d3d12.
dll
加载
失败
怎么办?如果你在使用电脑时遇到D3D12.
dll
文件丢失了,不用着急,使用小编带来的这款D3D12.
dll
文件修复工具就能轻松解决问题了。D3D12.
dll
是存放在windows系统中至关重要的
dll
文件,缺少该文件可能...
Windows进程常用
DLL
模块注入技术
进程调试级注入,涉及调试器相关功能调用知识点
dll
模块重定位内存注入,模拟操作系统
加载
PE文件方式,直接将
dll
文件内存数据写入目标进程并执行。 导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入...
为什么不能启动游戏错误代码126
加载
bugreportnew.
dll
失败
?
2. 路径问题:如果`bugreportnew.
dll
`文件存在但不在应用程序期望的路径下,也可能导致
加载
失败
。1. 文件丢失或损坏:`bugreportnew.
dll
`文件可能已经从系统中删除、移动或损坏。4. 权限问题:在某些情况下,操作...
VS下使用LoadLibrary
加载
dll
失败
VS下使用LoadLibrary
加载
dll
失败
记录一下
失败
经历。 今天自己写了一个
dll
,同时写了一个测试程序,顺利
加载
成功。但是移植到另一个程序中后总是
加载
失败
,通过GetLastError得到的返回值为126.但是我的
dll
明明是正确...
C++ 语言
64,586
社区成员
250,769
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章