Skip to content

Help building for Android ( arm64-v8a ) #32

Open
@nukadelic

Description

@nukadelic

Wasn't sure how to use the shell scripts so i tried using cmake-gui -downloaded and added ninja to path , selected the following toolchain : D:\UnityHubEditors\2021.3.27f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\build\cmake\android.toolchain.cmake
used the following config :

CMAKE_ANDROID_ARCH_ABI=arm64-v8a
ANDROID_PLATFORM=30
CMAKE_ANDROID_API=30
CMAKE_ANDROID_ARM_MODE=ON

source code location : D:/GitClone/ImGui.NET-nativebuild/cimgui - generated and build .so file with ninja, renamed it to add a lib prefix and dropped into Assets\Plugins\Android\libcimgui.so with platform cpu target set to arm64 , and in project player settings android 11 ( api level 30 ) , IL2CPP backend and ARM64 target architecture , build the apk and made sure the .so file was included by opening it as an archive with 7zip ( it was located alongside all the other .so in \lib\arm64-v8a\libcimgui.so ).
But it looks like it fails to load the library

AndroidPlayer "Oculus_Quest" DllNotFoundException: Unable to load DLL 'cimgui'. Tried the load the following dynamic libraries: Unable to load dynamic library 'cimgui' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = dlopen failed: library "cimgui" not found
  at ImGuiNET.ImGuiNative.igCreateContext (ImGuiNET.ImFontAtlas* shared_font_atlas) [0x00000] in <00000000000000000000000000000000>:0 
  at UImGui.UImGuiUtility.CreateContext () [0x00000] in <00000000000000000000000000000000>:0 
  at UImGui.UImGui.Awake () [0x00000] in <00000000000000000000000000000000>:0 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions