Наконец, я пробую этот метод и успешно собираю .bundle
, который включает другую стороннюю библиотеку для использования Unity.
Позвольте мне взять пример библиотеки OpenCV.
Сначала нажмите project
, и вы увидите кнопку Build Setting
. Нажмите на нее и измените Header Search Paths
и Library Search Paths
. В моем случае я ввожу /usr/local/Cellar/opencv/3.4.3/include/**
и /usr/local/Cellar/opencv/3.4.3/lib/**
, затем нажимаю targets
и делаю то же самое.
Кроме того, нам нужно добавить библиотеку OpenCV в проект, потому что Unity не может динамически вызывать библиотеку 3-й части в плагине при его запуске. Итак, вам нужно упаковать их, и тогда Xcode автоматически создаст фреймворк.
Итак, нажмите кнопку Build Phases
. Теперь вы можете увидеть Link Binary With Libraries
на этой странице, а затем нажать кнопку +
и нажать add other...
. Затем перейдите к пути к библиотеке OpenCV
/ usr / local / Cellar / opencv / 3.4.3 / lib (для моего случая)
Выбрать все файлы без "pythonx.x".
Теперь вы должны увидеть список Frameworks
в IDE XCode, а затем вы можете провести некоторый тест и проверить, успешно ли добавлена сторонняя библиотека.
C ++:
int ProcessImage()
{
cv::Mat test(10, 10, CV_8UC1); //use opencv library
return test.rows; // should return 10
}
c ++ Заголовок
#include <opencv2/imgproc.hpp>
#include <stdio.h>
extern "C"
{
int ProcessImage();
}
с #
[DllImport("test")] /*the name of Plugin is Test*/
private static extern int ProcessImage();
Debug.Log(ProcessImage().ToString());
Результат