我正在使用Visual C++ 2008 Express Edition来创建仅限资源的DLL.我面临的问题是运行在我的另一台计算机上使用DLL的应用程序导致LoadLibrary()函数失败,错误代码为14001.
在互联网上搜索似乎是运行缺少Microsoft Visual C++ 2008 Redistributable Package库的应用程序的计算机的依赖性问题.
我的第一步是安装最新的Microsoft Visual C++ 2008 Redistributable Package但是没有解决问题.
此外,我更改了我的项目设置,因此DLL编译静态CRT链接,假设这样我将摆脱依赖关系.
这些选项似乎是其他人遇到相同问题的解决方法.任何想要看哪个方向的想法都受到高度赞赏.
谢谢
================================================== ================================
谢谢你的回答.
Dependency Walker和事件查看器都指出了并排配置问题,因为我缺少VC++ Redistributable Package的调试版本库.
我粗心大意并在调试模式下编译了我的DLL,在发布模式下重新编译解决了这个问题.
尝试通过Dependency Walker隔离丢失的库:
http://www.dependencywalker.com/
只需使用此工具在第二台计算机上运行您的应用程序,它应该告诉您缺少哪个库.确保安装了正确版本的Visual C++ 2008 Redistributable Package; 有两个,对于VS 2008 SP1和没有任何SP ...
在事件查看器中查看。Windows SideBySide 很可能会出现错误,解释缺少哪个程序集。
它可能是一个 VC CRT 运行时,您必须将其与您的 dll 捆绑在一起。
(VC 可再发行组件可在此处获取:http://www.microsoft.com/download/en/details.aspx ?displaylang=en&id=29 )
| 归档时间: |
|
| 查看次数: |
13877 次 |
| 最近记录: |