【问题标题】:Unity3d - Failed to load 'Assets/Plugins/QCARWrapper.dll'Unity3d - 无法加载“资产/插件/QCARWrapper.dll”
【发布时间】:2015-05-08 08:40:55
【问题描述】:

我想在 unity android 应用程序上使用 c++ dll。要在 android 设备上使用本机 dll,我知道我应该使用 Unity 5。我从 here 下载了 unity5。我的应用程序需要 vuforia。所以我从here下载了vuforia包。

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)

【问题讨论】:

    标签: unity3d integration vuforia


    【解决方案1】:

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

    • QCARWrapper.exp
    • QCARWrapper.lib
    • QCARWrapper.dll
    • QCARWrapper.dll.signature

    这应该可以解决问题!

    【讨论】:

    • vuforia 5.5 包含 VuforiaWrapper.dll 而不是 QCARWrappper,按照建议将此及其相关文件移动到 x86 文件夹中)并且不要忘记重新启动 unity。
    【解决方案2】:

    转到https://unity3d.com/get-unity/update 在此下方,您将看到其他下载在此下方您将看到FOR WINDOWS。单击它并选择 Unity 编辑器(32 位)

    编辑: 我看到很多 dowvotes。当被问到这个问题时,这唯一解决方案。 Unity 5 64bit 刚刚发布,当时WAS 被问及这是当时ONLY 的解决方案。此答案已更改为 5 个月Vuforia 发布其插件的 64 位 版本时提供的当前答案。

    【讨论】:

    • 你告诉他安装 Unity 32bit 和他现有的 Unity 64 位版本来解决这个问题?
    • 老兄,在得出结论之前先阅读他的问题和我的回答。他有一个插件问题,他找到了解决方案。解决方案是安装 32 位 Unity 版本,但他在 Unity 网站上找不到 32 位版本。我的回答提供了如何在 Unity 网站上找到它的步骤。
    • 仍然 TODAY 发布 Unity 5+,您的回答确实值得一票否决,这样人们就不会认为它是好的回答他们应该遵循。
    • @Dimitris 您要么天真,要么缺乏理解力,或者可能两者兼而有之。您认为应该否决作为唯一可用解决方案并解决了当时 OP 问题的答案?有常识的人会查看我的答案中的日期,然后再查看其他答案中的日期,然后意识到周围没有任何其他答案。此外,对于那些不想将 Vuforia 插件更新到 64 位版本的人来说,这个答案仍然很有用。 SO上有很多过时的答案,但在开始时很有帮助。他们也应该被否决吗?
    • 他需要 Unity 32 位版本,但找不到,所以我提供了如何找到它的链接和说明。
    【解决方案3】:

    Vuforia 5.0Windows 上支持 32 位 版本的 Unity 编辑器,以及 64 位 版本 在 Mac 上

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

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

    1. “x86”里面新建一个文件夹

      资产>>插件

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

      • QCARWrapper.lib
      • QCARWrapper.dll
      • QCARWrapper.dll.signature
      • 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()
    

    那么,恭喜!!你准备好了!

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题/Failed to load 'Assets/Plugins/QCARWrapper.dll'/ with vuforia plugin and the latest version of Unity(目前为 5.1.2f 64bits),也无法让我的笔记本电脑摄像头工作。

      Unity 的 32 位版本修复了所有问题,即使我的操作系统是 64 位(Windows 7)。

      【讨论】:

        【解决方案5】:

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

        禁用“自动图形 API”复选框 在 Graphics APIs 列表中,确保仅包含 OpenGL ES 2.0: Android:删除 OpenGL ES 3.0 iOS:移除 OpenGL ES 3.0 和 METAL

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

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

        【讨论】:

          【解决方案6】:

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

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

          统一 64 位

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-07-21
            • 1970-01-01
            • 2021-09-19
            • 2020-06-19
            • 2020-07-03
            • 2020-04-28
            • 2021-05-10
            相关资源
            最近更新 更多