11

我正在尝试将硬件视频加速添加到我的设备的 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....

这是什么意思?我应该使用限制较少的标志进行编译还是更糟糕的原因导致它?

4

3 回答 3

7

更新:

从 Android NDK r11 你可以使用

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

你也可以使用

LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true

上一个答案:

这是工具链中的最新更改,它将此警告视为错误。

一种解决方法是添加--no-warn-shared-textrelLOCAL_LDFLAGS禁用将警告视为错误。你可以这样Android.mk

LOCAL_LDFLAGS := --no-warn-shared-textrel
于 2013-12-18T16:44:54.847 回答
4

Android NDK r11 的解决方法:

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

LOCAL_LDLIBS之后在选项链中应用LOCAL_LDFLAGS,因此会覆盖默认值。

于 2016-05-15T05:55:48.543 回答
0

对于 asop 项目(例如:aosp/external/myproject/)

将此行添加到您的 android.mk

LOCAL_CPPFLAGS += -w -frtti

于 2017-09-27T08:19:34.263 回答