Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2018 November 13

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Denis Dodonov
Просто в java создаёшь native метод, тыкаешь alt+enter и в cpp создаётся функция, hpp и не нужен
Спасибо
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Denis Dodonov
Просто в java создаёшь native метод, тыкаешь alt+enter и в cpp создаётся функция, hpp и не нужен
А можешь посоветовать современные туториалы, что стоит посмотреть почитать?
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Justin L0we
А можешь посоветовать современные туториалы, что стоит посмотреть почитать?
Даже не могу, оно само как то работает удобно, туторов не изучал.
источник
2018 November 15

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
А в чем может быть проблема, если одну из функций опенсв при сборке проекта не видит?

error: undefined reference to 'cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::__ndk1::vector<cv::Rect_<int>, std::__ndk1::allocator<cv::Rect_<int> > >&, double, int, int, cv::Size_<int>, cv::Size_<int>)'

Хотя из кода программы по названию функции к обьявлению функции в опенсв переходит, перед этой функцией на опенсв-шные функции не ругается, хидеры вроде все подключены. Проблема только с этой функцией
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Justin L0we
А в чем может быть проблема, если одну из функций опенсв при сборке проекта не видит?

error: undefined reference to 'cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::__ndk1::vector<cv::Rect_<int>, std::__ndk1::allocator<cv::Rect_<int> > >&, double, int, int, cv::Size_<int>, cv::Size_<int>)'

Хотя из кода программы по названию функции к обьявлению функции в опенсв переходит, перед этой функцией на опенсв-шные функции не ругается, хидеры вроде все подключены. Проблема только с этой функцией
std::__ndk1::vector наверное не совпадает с неймспейсом с которым билдился проект.
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Denis Dodonov
std::__ndk1::vector наверное не совпадает с неймспейсом с которым билдился проект.
я так понимаю, что надо опенсв пересобрать, т.к надо использоватьarguments "-DANDROID_STL=gnustl_shared", а gnustl в новых студиях не поддерживается
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Justin L0we
я так понимаю, что надо опенсв пересобрать, т.к надо использоватьarguments "-DANDROID_STL=gnustl_shared", а gnustl в новых студиях не поддерживается
У меня была такая проблема с imwrite, нашёл плюсовой api opencv и в нем работало. Попробуй поищи
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Может есть другая функция без вектора
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Для начала можешь проверить сошку
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
objdump -TC lib.so
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Спасибо, поищу
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Justin L0we
Спасибо, поищу
https://docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale  Тут есть сишное апи, поидее можно переписать. По правильному, наверное, пересобрать, но я не стал мучиться с этим, мне нужно было просто картинку для отладки сохранить
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Ну и если пересоберёшь, напиши плс кратко как это сделал, полюбому будут проблемы и полюбому пригодиться в будущем
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Ок, если пересоберу, напишу, спасибо. Сначала попробую ндк старее, что-то пишут, что с 18 много проблем с опенсв
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
А чем поможет старый? Stl поменяешь?
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Denis Dodonov
А чем поможет старый? Stl поменяешь?
Да, помогло, поставил 16b и arguments '-DANDROID_STL=gnustl_shared'
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
приложение пока не заработало, но собралось и отправилось на телефон, уже неплохо
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Погоди, погоди,  поидее с такой проблемой в рантайме должно было падать...
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Мне тут сложно что-либо сказать =))
теперь у меня другая проблема, не создается моя нативная либа, но, возможно, не все пути поправил
источник

JL

Justin L0we in Android NDK (C++) — русскоговорящее сообщество
Короче либы создаются, но есть по пути
app\build\intermediates\cmake\debug\obj

и по пути
\build\intermediates\transforms\stripDebugSymbol\debug\0\lib

Мне же надо в /src/main/libs скопировать те, которые по первому пути?
источник