Unity3d - 加载失败 'Assets/Plugins/QCARWrapper.dll'

Unity3d - Failed to load 'Assets/Plugins/QCARWrapper.dll'

我想在 unity android 应用程序上使用 c++ dll。要在 android 设备上使用本机 dll,我了解到我应该使用 Unity 5。我从 here. My application requires vuforia. So I download vuforia package from here 下载 unity5。

Unity 5 是 64 位的。

在统一编辑器上,我删除了 MainCamera 并添加了 ARCamera。统一控制台上有一条错误消息。消息如下:

Failed to load 'Assets/Plugins/QCARWrapper.dll', expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386.
Vuforia.WebCamAbstractBehaviour:CheckNativePluginSupport()

vuforia forum 上有针对此问题的解决方案。但是我没有找到 unity editor(32 bit)

转到 https://unity3d.com/get-unity/update 在那下面,您会看到 ADDITIONAL DOWNLOADS 在下面您会看到 FOR WINDOWS.单击它并选择 Unity Editor (32-bit)

编辑: 我看到很多 投反对票 。这个 ONLY 提出这个问题时的解决方案。 Unity 5 64 位 刚刚 发布 当这个问题 WAS 问的时候,这是 当时只有 个解决方案。当 Vuforia 发布 64bit 版本时,此答案已更改为 5 个月 后提供的当前答案他们的插件。

我遇到了同样的问题/无法使用 vuforia 插件和最新版本的 Unity(当前为 5.1.2f 64 位)加载 'Assets/Plugins/QCARWrapper.dll'/,而且我的笔记本电脑摄像头也无法正常工作。

Unity 的 32 位版本已解决所有问题,即使我的 os 是 64 位 (Windows 7)。

如果您使用的是 Unity 5.1,请确保在 Android 和 iOS 的播放器设置中设置正确的图形 API 设置:

禁用 "Automatic Graphics API" 复选框 在 Graphics APIs 列表中,确保仅包含 OpenGL ES 2.0: Android: 删除 OpenGL ES 3.0 iOS: 移除 OpenGL ES 3.0 和 METAL

重要: 1. 在您的 Unity 项目中:

Select Unity Project 视图中的 QCARWrapper.bundle(位于 Assets > Plugins 下),以便其设置显示在 Unity Inspector 中 将 Unity 检查器中 QCARWrapper.bundle 的设置从 "Any Platform" 更改为 "Standalone + Editor"。

重建

或:

  1. Unity生成的Xcode项目中:

转到构建阶段 > 复制捆绑资源 从列表中删除 QCARWrapper.bundle 文件 重建

我的unity3d版本是5位和64位 ,Os 是 Windows7 64 位。

我的问题解决了 .

编辑:

Unity 编辑器无法显示笔记本电脑摄像头,但是 重建 项目,摄像头工作。 例如重建 Android 平台,并在设备上安装 .apk => 应用程序确定。

转到Name_Vuforia_Unity_Project\Assets\Plugins,你会发现QCARWrapper.dll

删除它并重试(可能需要重新启动 unity)。

Unity 64 位

要将 Vuforia 与 Unity 64 位一起使用,只需将 QCARWrapper DLL 从 /Plugins 移动到 /Plugins/x86。这些是 DLL:

  • QCARWrapper.exp
  • QCARWrapper.lib
  • QCARWrapper.dll
  • QCARWrapper.dll.签名

这应该可以解决问题![​​=13=]

Vuforia 5.0Windows[=49= 上支持 32 位 版本的 Unity 编辑器],64 位 版本 在 Mac 上。

所以,有两种可能的解决方案:

  1. 您只需要在 Windows 上安装并使用 Unity 5 32 位编辑器。

  1. 新建文件夹"x86"里面

    资产>>插件

    在你的统一项目结构中 然后将以下文件从 "Plugins" 移动到新创建的 "x86" 文件夹。

    • QCARWrapper.lib
    • QCARWrapper.dll
    • QCARWrapper.dll.签名
    • QCARWrapper.exp

检查日志消息后,如果您看到如下日志:

Setting platform to 'Editor' for plugin: Assets/Plugins/x86/VuforiaWrapper.dll
UnityEngine.Debug:Log(Object)
Vuforia.EditorClasses.ExtensionImport:UpdatePluginSettings() (at Assets/Vuforia/Editor/Scripts/ExtensionImport.cs:43)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

那么,恭喜!!您可以开始了!