我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Unity3D时出现DllNotFoundException错误如何解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Unity3D时出现DllNotFoundException错误如何解决

这篇文章给大家介绍使用Unity3D时出现DllNotFoundException错误如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

起因

unity程序build到pc上,拿到其他人的机器上结果有些功能不正常,看log里面大概是

Fallback handler could not load library: xxx.dll

DllNotFoundException: xxx.dll

初看以为是缺失dll,但是实际上并不是这样,首先在很多人机器上都是没有问题的,只在极少数机器上才出现异常,另外报错的dll都是有的,并不存在缺失的问题。

后来网上搜了一下,看到http://answers.unity3d.com/questions/993154/failed-to-load-dll-error.html 中提到了

it only seems to happen with C++ DLLs that have dependencies that aren't already loaded.

好吧,这个理由很理想,就是unity的项目依赖了A.dll,而A.dll又依赖了B.dll,而B.dll缺失,导致load A.dll时异常,我觉得这是unity打包的坑~

那么主要原因就是大部分机器上都带有A.dll,而少部分机器上缺失B.dll

解决

使用dll Dependency Walker这个软件来查找dll所依赖的其他dll,就可以很容易的查到缺失的是哪个dll,把它加上就好

在我这个case中,使用了unity的easymovietexture插件来播放视频,而easymovietexture依赖ffmpeg,其中一个dll依赖opencl.dll,大部分机器上都有这个dll,而少部分机器上是没有这个dll,取而代之的是opencl32.dll和opencl64.dll,可能是dll的依赖兼容性之类的没做好吧!

最终问题解决,欣慰~

补充:Unity3d使用dll时有些电脑会报DllNotFoundException错误 无法使用dll库

unity3d开发过程中使用了外部动态链接库dll,有些电脑运行工程时会报DllNotFoundException的错误,这是由于该dll中引用系统内的dll不存在的原因。

使用Unity3D时出现DllNotFoundException错误如何解决

团队开发过程中所有人都可以 就是我自己的电脑不行,无论如何处理都不行,工程重新加载 ,平台切换等全部不行 。

最后定位到电脑系统问题。

找到自己使用dll库,

下载depends软件,打开使用的dll库

使用Unity3D时出现DllNotFoundException错误如何解决

如下图 可以发现系统中缺少该dll,

使用Unity3D时出现DllNotFoundException错误如何解决

去网上下载该库放入system32内

使用Unity3D时出现DllNotFoundException错误如何解决

重新进工程就可以了!

补充:unity 无法使用 dll 库

出错 :

Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.

关于使用Unity3D时出现DllNotFoundException错误如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Unity3D时出现DllNotFoundException错误如何解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Unity3D时出现DllNotFoundException错误如何解决

这篇文章给大家介绍使用Unity3D时出现DllNotFoundException错误如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。起因unity程序build到pc上,拿到其他人的机器上结果有些功能不正常,看
2023-06-14

ant构建时出现错误如何解决

这篇文章主要讲解了“ant构建时出现错误如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ant构建时出现错误如何解决”吧!用ant构建时出现错误现象:BUILD FAILEDD:Dow
2023-06-03

安装eclipse时出现错误如何解决

安装Eclipse时出现错误可能有多种原因,以下是一些常见的解决方法:1. 确保您下载的Eclipse版本与您的操作系统兼容。例如,如果您的操作系统是64位,则应下载64位的Eclipse版本。2. 检查您的Java安装。Eclipse需要
2023-09-22

使用php将时间戳转日期出现错误如何解决

使用php将时间戳转日期出现错误如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php时间戳转日期出错?今天用时间戳转日期,居然day出现了51号,把我弄
2023-06-15

oracle关键字在mybatis中使用时出现错误如何解决

oracle关键字在mybatis中使用时出现错误如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。解决方式 可以使用resultMap**示例代码