Unity 会自动检测 QNX 的插件。导入插件时,Unity 会为每个这类插件创建元数据文件。例如,共享对象或共享库的 .so 以及 QNX 中存档文件的 .a。这些元数据文件包含插件信息,例如目标架构和平台。Unity 构建系统引用这些元数据文件来跟踪需在构建过程中复制的文件。
一个项目中可以有多个同名的共享库。例如,同一项目中可以有 x86_64 的 libFoo.so 和 arm64 的 libFoo.so,Unity 会检测正确的 libFoo.so,并根据构建目标将其复制到播放器构建中。
您可以在 Unity 编辑器中手动编辑这些文件。但无需手动将插件添加到项目的 Plugins 文件夹中。如果您将它们放在项目目录中项目的 Assets/Plugins/QNX 文件夹下的特殊文件夹中,Unity 会在导入时自动检测并设置它们的平台和架构。
Unity 根据以下规则自动检测 QNX 的插件:
特定于架构的文件夹 - 将插件放在 Assets/Plugins/QNX/<arch> 下,其中 <arch> 为 x86、x86_64、armeabi-v7a 或 arm64-v8a。Unity 仅在为相应目标架构进行构建时才会复制它们。例如,如果将插件放在 Assets/Plugins/QNX/x86_64 下,Unity 仅在为 x86_64 进行构建时才会将其复制到播放器构建中。
特定于 SDK 的文件夹 - 如果插件以特定 SDK(QNX 7.0 或 QNX 7.1)为目标,则可以将其放在 Assets/Plugins/QNX/<sdk>/<arch> 下,其中 <sdk> 可以是 Neutrino70 或 Neutrino71。Unity 仅在为相应的 SDK 版本和目标架构进行构建时才会复制此文件。注意:QNX 7.1 不支持 x86,因此此组合会被记录为错误。
特定于架构的插件 - 将插件放在 Assets/Plugins/QNX 下,并确保通过其 ELF 标头检查它们是否符合目标架构,并分配适当的架构。