社区
进程/线程/DLL
帖子详情
动态链接库(DLL)加载失败 126
amao02
2010-09-16 10:01:29
我有个动态库,程序中动态加载。但是加载失败了,getlasterror() 返回 126,动态库依赖,路径都好着呢! 我把代码换个位置,竟然加载成功了。(就在同一代码段,往上移几行,竟然加载成功了,(中间就是几个if判断)。) 高手指点一下,这怎么回事啊?谢谢~!
...全文
2111
13
打赏
收藏
动态链接库(DLL)加载失败 126
我有个动态库,程序中动态加载。但是加载失败了,getlasterror() 返回 126,动态库依赖,路径都好着呢! 我把代码换个位置,竟然加载成功了。(就在同一代码段,往上移几行,竟然加载成功了,(中间就是几个if判断)。) 高手指点一下,这怎么回事啊?谢谢~!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
龙哥依旧
2010-09-17
打赏
举报
回复
建议用绝对路径!
amao02
2010-09-17
打赏
举报
回复
ss;
BOOL tf = ss.LoadDLL("6S_DLL.dll");
加载dll 写在一个类 SixS 里面的;就是调用了LoadLibrary()
amao02
2010-09-17
打赏
举报
回复
// TODO: Add your control notification handler code here
//check the input paramters
UpdateData();
ShowWindow(SW_HIDE);
SixS ss;
BOOL tf = ss.LoadDLL("6S_DLL.dll");//就这个位置可以,往下面移几行就不行了
if(!tf)
{
int err = GetLastError();
AfxMessageBox("加载DLL失败!");
PostMessage(WM_CLOSE,0,0);
return ;
}
if( m_strInFile ==_T("")|| m_strInFile ==_T("")
|| m_inSpatialRes == 0.0 || m_outSpatialRes ==0.0
|| m_inSpectralRes == 0.0 || m_outSpectralRes ==0.0)
{
AfxMessageBox("Invalid Parameters!");
PostMessage(WM_CLOSE,0,0);
return;
}
if(header.Interleave!=0)
{
AfxMessageBox("Only BSQ Interleave Supported!");
PostMessage(WM_CLOSE,0,0);
return;
}
//check the waveLength data
if(header.pWavelength == NULL)
{
CDialogWaveFile dlgwave;
if(dlgwave.DoModal() == IDOK)
{
UpdateData();
m_WaveFile = dlgwave.m_WaveFile;
}
if(m_WaveFile==_T(""))
{
AfxMessageBox("Invalid WaveLength File!");
PostMessage(WM_CLOSE,0,0);
return;
}
}
//define transfor parameters
SimulationInfo *pParams = new SimulationInfo();
pParams->pSimulation = this;
pParams->pProgress = NULL;
pParams->pSixSACM = NULL;
//6s atmosphere correction
if(m_Atomsphere)
{
CSixSAtomsphereCorrection *pSixSACM = new CSixSAtomsphereCorrection();
CSixSAtomsphereCorrection sixSACM;
if(sixSACM.DoModal() ==IDOK)
{
UpdateData();
*pSixSACM = sixSACM;
pParams->pSixSACM = pSixSACM;
}
}
//Create Progress Bar...
pParams->pProgress = new CSixSACMProgress();
pParams->pProgress->Create(IDD_DIALOG_6SACM_PROGRESS,this->GetParent());
pParams->pProgress->ShowWindow(SW_SHOW);
CWinThread *pThread = AfxBeginThread(SimulationThreadProc,pParams,THREAD_PRIORITY_HIGHEST);
amao02
2010-09-17
打赏
举报
回复
就是我在对话框的button相应函数中去加载dll,是不是这个有问题?(关键有时候不用加载,放在这里面)
0皮皮0
2010-09-16
打赏
举报
回复
IDE调试时,和直接双击运行,两个得当前路径是不同的
Eleven
2010-09-16
打赏
举报
回复
126 The specified module could not be found.
路径不对吧。。。
水凝冰释
2010-09-16
打赏
举报
回复
我也遇到过这种问题,路径都是对的,就是加载不上,可能当时水平有限。
我觉得动态加载不是很好,后来很少这样用了。
fairyprince
2010-09-16
打赏
举报
回复
如果确定排除依赖问题,
查看跟踪一下,加载之前做了什么,
有可能之前的操作,有内存泄露,破坏了上下文环境
fandh
2010-09-16
打赏
举报
回复
楼主贴代码!
另外,楼主是不是一个是调试,一个是直接运行?
这两个环境也是不一样的!
amao02
2010-09-16
打赏
举报
回复
我用depends查看依赖都好着 啊,环境变量?
zhaohongbo83
2010-09-16
打赏
举报
回复
动态库依赖可能还跟环境变量有关!
重复的昵称嘛
2010-09-16
打赏
举报
回复
应该是路径的问题,在那几个if中路径估计改变了。
wwwwadada
2010-09-16
打赏
举报
回复
学习中我是新手啊
如何解决
加载
动态链接库
DLL
失败
,返回0,GetLastError返回错误码
126
通常情况下使用LoadLibrary
加载
DLL
都可以成功,但是当被
加载
的
DLL
内部依赖其他
DLL
无法被找到时,该函数会返回
126
(ERROR_MOD_NOT_FOUND)错误。 解决办法有2种: 1)使用depends查看
DLL
的依赖项,查看有警告的即为不存在的,这时候可以通过查找下载等方式补齐 2)基于第1种方法的结果,假如发现所有
DLL
的依赖项都存在,那很有可能就是
加载
DLL
的程序和DL...
深入剖析 `_dlopen` 与 OSError: [WinError
126
]:从模块
加载
失败
到环境修复
本文深入分析了Python中`_dlopen`函数触发OSError: [WinError
126
]错误的根本原因及解决方案。通过剖析Windows
动态链接库
加载
机制,提供系统化的诊断步骤和常见问题修复方法,特别针对shapely等依赖C扩展的库
加载
失败
问题,推荐使用conda-forge管理依赖以避免
DLL
冲突。
pytorch:OSError: [WinError
126
] 找不到指定的模块。 Error loading “fbgemm.
dll
”
3.12可以装2.4的torch么,后面发现好像不行,换了python环境3.11.8。NVIDIA GeForce MX450,允许的cuda12.0。(2)然后解压到对应的对应的"fbgemm.
dll
的相同文件夹。帮别人安装的时候,遇到这种问题了,先说一下他的环境。这次仍然报这个错误,,,,我搜了好多啊,才解决。
深入剖析 self._handle = _dlopen(self._name, mode) OSError: [WinError
126
] 的根源与系统级修复
本文深入分析了Python在Windows系统中常见的`OSError: [WinError
126
] 找不到指定的模块`错误,重点解析了`_dlopen`函数
加载
动态链接库
失败
的原因。文章提供了从基础排查到高级修复的系统级解决方案,包括检查
DLL
文件、分析依赖关系、调整环境变量等实用技巧,特别针对Conda环境下的特殊问题给出了专业建议。
【无标题】
看上去是cuda的问题,排查了下, 是安装cuda的,再搜索cudnn,发现没有,遂解决。
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章