如何在C++的程序中显示Windows的"DLL not found"错误?
How to show Windows' "DLL not found" error in my program in C++?
我已经搜索了我在本网站中寻找的内容;但是我不明白。
所以,我写了这个问题。
我在C (代码块IDE(中编写了一个.dll文件和一个程序。如果DLL文件和程序在同一目录中,我的程序将起作用。
但是,如果我删除DLL文件并执行程序,Windows向我显示了此错误:
" xxx.exe已经停止工作。">
我想"该程序无法启动,因为xxx.dll在您的计算机中缺少。"消息而不是这个。
我该怎么办?
您可以做三种链接。
-
加载时间链接是当您的程序启动时自动加载DLL时。Windows通常在与可执行文件的同一文件夹中找到此DLL。
- 运行时链接是当您通过在代码中调用LoadLibrary专门加载DLL时。
当应用程序调用LoadLibrary或LoadLibraryex功能时,系统将尝试找到DLL(有关详细信息,请参见Dynamic-Link库搜索顺序(。如果搜索成功,则系统将DLL模块映射到过程的虚拟地址空间并增加参考计数。如果调用loadLibrary或loadLibraryex的调用指定了已经映射到调用过程的虚拟地址空间的DLL,则该函数只需将句柄返回到DLL并增加DLL参考计数。〜从这里取
您想做的是指向DLL的运行时链接并测试结果,而不是您当前正在做的事情。
-
Visual Studio提供了第三种选择,延迟加载的DLL 。〜MSALTERS
处理负载卢布里的呼叫。
相关文章:
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 无法创建 DLL:获取 DLL "is not a valid Win32 application"
- Boost.Python 和导入 dll,"The specified module could not be found"
- C++ DLL 运行时错误"abc.dll is not a valid WIN32 application" 。请帮助解决这个问题
- 如何在C++的程序中显示Windows的"DLL not found"错误?
- assimp-vc140-mt.dll ASSIMP was not found
- QT 创建器:无法添加 OpenCV dll 库 ( "File format not recognized" )
- libcurl-x64.dll was not found
- C# 到非托管 C++ DLL 访问冲突/"frame not in module"
- 在 Unity 中使用 x64 c++ dll 可以"Is not a valid Win32 application error"
- Visual Studio Express 2012 中的"dll not found"错误
- 查找适用于"The specified module could not be found"的 DLL
- 从DLL(NOT LIB!!)访问类成员
- 如果实际导出"ordinal N not found in DLL"错误,可能导致什么原因?
- MSVCP110D.dll not found
- JNI C++ DLL - 'UnsatisfiedLinkError: %1 is not a valid Win32 application'
- Magick++ CORE_RL_Magick++_.dll NOT FOUND
- 什么可能导致第三方 dll 上出现间歇性"Class not Registered" (0x80040154) 错误?
- Boost Python, Visual studio does not create DLL