Java SWIG pour Android NDK sous Ubuntu
Si vous faites du code Natif pour Android via JNI. Swig peut vous servir à fair le lien entre les deux mondes d’un coté le Java de dalvik et d’un autre coté le C++ NDK, en générant un wraper basé sur JNI.
La version courante de Swig pour Ubuntu (2.04) ne supporte pas Androïd, En compilant le wraper avec le NDK android vous obtiendrez:
jni/wrap.cpp: In constructor 'Swig::Director::JNIEnvWrapper::JNIEnvWrapper(const Swig::Director*)': jni/wrap.cpp:335: error: invalid conversion from 'void**' to 'JNIEnv**' jni/wrap.cpp:335: error: initializing argument 1 of 'jint_JavaVM::AttachCurrentThread(JNIEnv**, void*)'
Il faut swig en version 2.05 minimum qui dispose d’un support pour Android.
Vous pouvez télécharger la dernier archive swig ici.
L’installation est classique, avec un classique:
./configure
Et là c’est le drame:
configure: error: Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions) library package. This dependency is needed for configure to complete, Either: - Install the PCRE developer package on your system (preferred approach). - Download the PCRE source tarball, build and install on your system as you would for any package built from source distribution. - Use the Tools/pcre-build.sh script to build PCRE just for SWIG to statically link against. Run 'Tools/pcre-build.sh --help' for instructions. (quite easy and does not require privileges to install PCRE on your system) - Use configure --without-pcre to disable regular expressions support in SWIG (not recommended). See `config.log' for more details.
La solution est simple installer libpcre3-dev. (faut-il encore le savoir)
donc un coût de:
sudo apt-get install libpcre3-dev
Et on fini avec le classique
make
sudo make install
Laisser un commentaire