В настоящее время я пытаюсь обернуть свою собственную библиотеку C++ для использования на Java (и, в конечном итоге, Android). Моя библиотека использует классы OpenCV Mat
и Size
в качестве входных данных. Ниже приведен пример SWIG интерфейс, что я до сих пор:Ссылка на определенные классы во внешней библиотеке с помощью SWIG
%module customLib
%include <std_vector.i>
%include <std_string.i>
%{
#include "opencv2/core/core.hpp"
#include "../include/myinc/CustomLib.h"
%}
namespace cv {
class Mat {};
class Size {};
}
namespace myinc {
CustomType preprocessMatrix(const cv::Mat& src, cv::Mat& dst, const cv::Size& ksize);
}
OpenCV имеет Java оберток для Mat
и Size
уже; Мне интересно, будет ли то, что я сделал здесь, вызвать конфликты имен, когда я добавлю собственную среду Java OpenCV. Правильно ли это включить ссылки на классы внешней библиотеки через SWIG? Или, есть ли лучший способ достичь этого?