Как собрать файл Android .so с помощью ndk-build.cmd - PullRequest
0 голосов
/ 25 февраля 2020

Получение DllNotFoundException при попытке создать собственный плагин c ++ для Unity.

FirstDll. cpp

#include "FirstDll.h"                                                                                                                                                                

  DLLExport int add(int a, int b){
      return a+b;
  }

  FirstDll::FirstDll(){
  }

   FirstDll::~FirstDll(){
 }

FirstDll.h

#define DLLExport __declspec(dllexport)                                                                                                                                              

   extern "C"{
       DLLExport int add(int a, int b);
   }

  class FirstDll{
  public:
       FirstDll();
      ~FirstDll();
 };

Я затем создаю файл so с помощью этой команды

g++ -dynamiclib -flat_namespace -fms-extensions FirstDll.cpp -o libmyclass.so

Затем я добавляю этот файл .so в папку Assets / Plugins / x86_64 и в своем коде Unity c# я пытаюсь запустить этот кусок кода .

[DllImport("myclass")]
    static extern int add(int a, int b);

После получения этой ошибки я попытался переместить файл so в другие места и выполнить тестирование. Я всегда получаю DllNotFoundException.

Found that the DllNotFoundException was coming bcoz the .so file 
is not build using ndk-build.cmd. 
Plz help me with the steps to build the .so file for android.

1 Ответ

0 голосов
/ 25 февраля 2020

Документация NDK содержит инструкции о том, как собрать библиотеки для Android. Android Студия для этого не обязательна, но упрощает. Если вы не используете его, вам придется установить NDK вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...