Я хочу создать библиотеку .so C ++ со ссылкой на OpenCV с Visual Studio.
(Моя цель - сделать apk, который использует .so файл в Unity)
Я создал кросс-платформенный проект динамической разделяемой библиотеки в Visual Studio и установил правильные настройки проекта.
В Linker> Input> Additional Dependencies я добавил путь к файлу openCV .so, загруженному из здесь
В Visual Studio я могу создать приведенный ниже код.
void OpenCVForAndroid::TestMethod()
{
cv::Mat img(10, 10, CV_8UC1);
}
Однако приведенный ниже код допускает ошибки.
void OpenCVForAndroid::TestMethod()
{
void* ddd = malloc(sizeof(int));
cv::Mat img(100, 100, CV_8UC4, ddd);
}
1> C: \ Users \ ддд \ Downloads \ OpenCV-4.1.0-андроид-SDK \ OpenCV-андроид-SDK \ SDK \ родной \ JNI \ включать \ opencv2 / ядро / mat.inl.hpp: 548:
неопределенная ссылка на cv::error(int, std::string const&, char
const*, char const*, int)
1> C: \ Users \ ддд \ Downloads \ OpenCV-4.1.0-андроид-SDK \ OpenCV-андроид-SDK \ SDK \ родной \ JNI \ включать \ opencv2 / ядро / mat.inl.hpp: 561:
неопределенная ссылка на cv::error(int, std::string const&, char
const*, char const*, int)
Это потому, что конструктор
Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP)
содержит cv::error
, и компоновщик не смог его найти.
Я думал, что libopencv_java4.so
будет иметь cv::error
.. но, возможно, это не так.
Что не так с моим кодом или настройками?
Где определено cv::error
? 1035 *
Заранее спасибо: D