Я не могу собрать библиотеку ZBar C ++ (?) С Android NDK, и я не нашел ничего, что могло бы помочь мне понять, когда я искал информацию в Интернете. Это немного за пределами моей области, поэтому я надеюсь, что кто-то может быть достаточно любезен, чтобы помочь мне заставить это работать.
Предыстория: я пытался внедрить простой сканер QR в свое приложение для Android, не слишком увеличивая размер приложения. Я посмотрел на проект Obsqr (https://bitbucket.org/trikita/obsqr) это очень маленький QR-сканер, основанный на библиотеке ZBar. Я успешно реализовал QR-сканер с библиотекой ZBar, используя обычную библиотеку (http://sourceforge.net/projects/zbar/files/AndroidSDK/), но это сделало мои 3 МБ apk в два раза больше, поэтому в идеале я хотел бы найти способ решить его так же, как это делается в Qbsqr. Насколько я могу судить, он использует Android NDK для компиляции библиотеки C ++, хотя раньше я никогда не работал с C ++ или Android NDK.
Я скачал код и попытался создать приложение сам, прежде чем пытаться изменить его для своего использования, но я просто не могу заставить его работать. Ndk-build выдает следующее сообщение об ошибке:
\src\main\jni\bch15_5.c:1:1 : expected identifier or '(' before '.' token
Сам файл выглядит так:
../../../zbar/zbar/qrcode/bch15_5.c
Поскольку я не занимался программированием на C ++, я не уверен, как он должен выглядеть, но из того, что я видел при поиске в Интернете помощи, этот файл не очень похож на любой другой файл C ++, который я видел. Кажется, что почти все файлы в библиотеке имеют одинаковую структуру, поэтому я не уверен, что с ними делать.
Кто-нибудь знает, следует ли мне каким-либо образом изменять файлы или я забыл что-то сделать перед сборкой приложения?
Этот проект на bitbucket, похоже, облажался: он показывает символические ссылки вместо реальных файлов. Вы должны скачать https://bitbucket.org/trikita/zbar/ и следуйте инструкциям по сборке там.
Других решений пока нет …