Erreur à la compilation d'un projet NDK pour armv6
Bonjour,
Je ne suis pas sur de poster dans la bonne section, c'est peut-être plus un problème C++.
J'ai récupéré une librairie qui compile corectement en armv7a.
Mais j'ai une erreur lors que j'essaie de compiler vers un autre type de processeur.
Auriez-vous une piste à me donner ?
Sachant que je ne suis absolument pas dev C++, j'ai du mal à comprendre comment résoudre le problème.
Ma trace ndk-build:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi-v7a/gdbserver
Gdbsetup : libs/armeabi-v7a/gdb.setup
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Install : libleveldb.so => libs/armeabi-v7a/libleveldb.so
"Compile++ thumb : leveldb <= builder.cc
In file included from ./port/port.h:18,
from ./db/filename.h:14,
from jni/.././db/builder.cc:7:
./port/port_android.h:81: error: expected initializer before 'ATTRIBUTE_WEAK'
./port/port_android.h: In member function 'void leveldb::port::AtomicPointer::MemoryBarrier() const':
./port/port_android.h:95: error: 'pLinuxKernelMemoryBarrier' was not declared in this scope
make: *** [obj/local/armeabi/objs-debug/leveldb/__/./db/builder.o] Error 1 |
Le bout de code qui semble poser problème :
Code:
1 2 3 4 5 6 7 8
|
77. #ifndef ARMV6_OR_7
78. // On ARM chipsets <V6, 0xffff0fa0 is the hard coded address of a
79. // memory barrier function provided by the kernel.
80. typedef void (*LinuxKernelMemoryBarrierFunc)(void);
81. LinuxKernelMemoryBarrierFunc pLinuxKernelMemoryBarrier ATTRIBUTE_WEAK =
82. (LinuxKernelMemoryBarrierFunc) 0xffff0fa0;
83. #endif |
Bien sur si j'utilise le .so généré pour armv7 en armV6 ça ne fonctionne pas ;) ce serait trop simple.
Merci pour votre aide, je suis preneur de toute les pistes que vous pourriez me donner