我正在尝试将HW视频加速添加到我的设备的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....
这是什么意思?我应该使用限制较少的标志进行编译还是更糟糕的原因?
答案 0 :(得分:7)
<强> 更新 强>
从Android NDK r11可以使用
LOCAL_LDLIBS += -Wl,--no-warn-shared-textrel
您也可以使用
LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true
上一个回答:
这是最近工具链的变化,它将此警告视为错误。
一种解决方法是将--no-warn-shared-textrel
添加到LOCAL_LDFLAGS
以禁用将警告视为错误。你可以在Android.mk
喜欢的
LOCAL_LDFLAGS := --no-warn-shared-textrel
答案 1 :(得分:4)
Android NDK r11的解决方法:
LOCAL_LDLIBS += -Wl,--no-warn-shared-textrel
LOCAL_LDLIBS
稍后会应用于选项链而不是LOCAL_LDFLAGS
,因此会覆盖默认值。
答案 2 :(得分:0)
对于asop项目(例如:aosp / external / myproject /)
将此行添加到您的android.mk
LOCAL_CPPFLAGS += -w -frtti