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 :
Bien sur si j'utilise le .so généré pour armv7 en armV6 ça ne fonctionne pas ce serait trop simple.
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
Merci pour votre aide, je suis preneur de toute les pistes que vous pourriez me donner
Partager