warning: shared library text segment is not shareable

在移植Android 4.2上的Gsensor代码到其他环境时遇到编译警告,通过调整编译器选项成功解决。介绍了如何通过移除默认的--warn-shared-textrel选项来避免警告信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

warning: shared library text segment is not shareable
error: treating warnings as errors

近期在调试一个Gsensor, 代码是从android4.2上直接移植过来的。但却一直编译只是, 纳闷了。。。
 baidu不行
 google 又訪问不了,真是操蛋

 可是终究还是找到了点实用的信息,说是编译器的选项要加上 --no-fatal-warnings
  可无论怎么加, 加到那儿都变成了g++的选项,可g++不认得它。郁闷 了一会
  看了看链接器的链接选项中看到了例如以下两个选项
 --warn-shared-textrel       Warn if text segment is not shareable
 --no-warn-shared-textrel    Do not warn if text segment is not shareable (default)
由此猜測一空是默认加入了 --warn-shared-textrel

所以打一此处直接去掉就OK了, 详细例如以下:
diff --git a/android/build/core/combo/TARGET_linux-arm.mk b/android/build/core/combo/TARGET_linux-arm.mk
index 5ff30fa..accc3ff 100755
--- a/android/build/core/combo/TARGET_linux-arm.mk
+++ b/android/build/core/combo/TARGET_linux-arm.mk
@@ -132,7 +132,6 @@ TARGET_GLOBAL_LDFLAGS += \
    -Wl,-z,noexecstack \
    -Wl,-z,relro \
    -Wl,-z,now \
-   -Wl,--warn-shared-textrel \
    -Wl,--fatal-warnings \
    -Wl,--icf=safe \
    $(arch_variant_ldflags)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值