如何在 Android.bp 文件中添加 -fPIC?

问题描述

我最近遇到了 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 部分。