问题描述
我最近遇到了 android 10 中的重定位问题:重定位 R_AARCH64_ADR_PREL_PG_HI21 超出范围:8589967360 不在 [-4294967296,4294967295]。我试图在 android.bp 中添加 cflags:["-fPIC"],但它不起作用。有人知道如何解决这个问题吗?
代码如下:
我在 timeStampTrans.cpp 中定义了一个类:
class timestampTrans
{
public:
timestampTrans();
static void init(double defScale);
};
当我在 timeStampTransWrapper.c 中使用这个类时:
static timeStampTrans tt[10];
已报告此错误。
解决方法
找到根本原因。这是因为我的代码中有很多未初始化的全局变量,它们满足了 .bss 部分。