2013-11-14 7 views
7

Próbuję dodać przyspieszenie wideo HW do portu cm10.2 na moim urządzeniu. Nie otrzymuję żadnych błędów, ale jeden poniżej, a następnie make przestaje działać, najwyraźniej bez żadnego błędu.Nie można udostępnić segmentu biblioteki współdzielonej.

/home/vektor/CM102/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/../lib/gcc/arm-linux-androideabi/4.7/../../../../arm-linux-androideabi/bin/ld: warning: shared library text segment is not shareable 
/home/vektor/CM102/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/../lib/gcc/arm-linux-androideabi/4.7/../../../../arm-linux-androideabi/bin/ld: error: treating warnings as errors 
collect2: error: ld returned 1 exit status 
make: *** [/home/vektor/CM102/out/target/product/s7300b/obj/SHARED_LIBRARIES/libamplayer_intermediates/LINKED/libamplayer.so] Error 1 
make: *** Waiting for unfinished jobs.... 

Co to znaczy? Czy powinienem kompilować się z mniej restrykcyjnymi flagami, czy może go to powoduje coś gorszego?

Odpowiedz

5

Aktualizacja:

z Android NDK R11 można użyć

LOCAL_LDLIBS += -Wl,--no-warn-shared-textrel 

Można również użyć

LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true 

poprzedniej odpowiedzi:

To jest ostatnia zmiana w zestawie narzędzi, który traktuje to ostrzeżenie jako błąd.

Jednym z rozwiązań jest dodanie --no-warn-shared-textrel do LOCAL_LDFLAGS, aby wyłączyć ostrzeżenie o leczeniu jako błąd. Można to zrobić w swoim Android.mk jak

LOCAL_LDFLAGS := --no-warn-shared-textrel 
+6

dodając ten 'LOCAL_DISABLE_FATAL_LINKER_WARNINGS: = TRUE do Android.mk prace lepiej niż rozwiązanie "LOCAL_LDFLAGS". –

+0

Od r11, 'build/core/build-binary.mk' zawsze dodaje' LOCAL_LDFLAGS + = -Wl, - warn-shared-textrel' na końcu polecenia link bez względu na to, jakie 'LOCAL_LDFLAGS' mam ustawić wcześniej. Jak tego uniknąć? – jayatubi

+0

@Alexey Yakovenko: działa świetnie !! thx – yeahman

4

obejścia dla R11 Android NDK:

LOCAL_LDLIBS += -Wl,--no-warn-shared-textrel 

LOCAL_LDLIBS nanosi się później w łańcuchu opcji niż LOCAL_LDFLAGS, a tym samym zastępuje domyślną.

+0

Zapewnia to odpowiedź, która działa lepiej niż zaakceptowana odpowiedź na nowszą wersję systemu Android NDK. – pelya

+2

To nie odpowiada na pytanie: co to znaczy? – Karu

0

Dla projektu asop (np AOSP/zewnętrzna/myproject /)

dodać tę linię do android.mk

LOCAL_CPPFLAGS += -w -frtti

Powiązane problemy