я строю файл cpp, который использует библиотеку opencv. Я включаю cv.h и мой Application.mk получил
LOCAL_LDLIBS := "C:\OpenCV2.1\lib\cxcore210.lib" "C:\OpenCV2.1\lib\highgui210.lib" "C:\OpenCV2.1\lib\cvaux210.lib" "C:\taucs_full\lib\win32\libtaucs.lib"
но я не могу вызвать любую функцию, например, cvSaveImage. Я просмотрел каталог opencv и попытался найти файл cpp, который реализует эти функции, но не может найти.
Так как я могу это сделать?
Ваш LOCAL_LDLIBS
перечисляет версии Windows библиотек OpenCV (откуда мне знать? Потому что у них есть .lib
расширение). Чтобы собрать собственную нативную библиотеку Android, вы должны сначала собрать OpenCV для Android, используя NDK и его gcc toolchain. Это будет производить файлы, такие как libcxcore210.a
и т. д. Вы добавите эти файлы в LOCAL_LDLIBS
(Обратите внимание, что Lib а также . скрыты):
LOCAL_LDLIBS += -Lc:/opencv2.1/libandroid -lcxcore210 -lhighgui210 -lcvaux210
Отметим также, что это определение должно быть включено в Android.mk
файл, а не Application.mk
!
Других решений пока нет …