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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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