共享库文本段不可共享 [英] shared library text segment is not shareable

查看:146
本文介绍了共享库文本段不可共享的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将硬件视频加速添加到我的设备的cm10.2端口.除了下面的错误之外,我没有任何错误,然后make停止工作,显然没有任何错误.

/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....

是什么意思?我应该使用限制较少的标志进行编译,还是引起它的后果更糟?

解决方案

更新:

您可以使用Android NDK r11中的

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

您也可以使用

LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true

上一个答案:

这是工具链中的最新变化,将此警告视为错误.

一种解决方法是将--no-warn-shared-textrel添加到LOCAL_LDFLAGS以禁用将警告视为错误.您可以像

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

这样操作

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

I am trying to add HW video acceleration to a cm10.2 port for my device. I get no errors but the one below, then make stops working, apparently without any error.

/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....

What does it mean? Should I compile with less restrictive flags or is something worse causing it?

解决方案

Update:

from Android NDK r11 you can use

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

You can also use

LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true

Previous answer:

This is a recent change in toolchain which treats this warning as an error.

One workaround is to add --no-warn-shared-textrel to LOCAL_LDFLAGS to disable treating warning as an error. You can do that in your Android.mk like

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

这篇关于共享库文本段不可共享的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆