最近使用MTK的cpu开发板开发一个产品,平台是MTK的sdk,需要把我们自己的app移植上去,mkt自己的sdk里面有一个初始化进程,里面也定义了很多函数,我们的app需要引用里面的一些函数,所以我把sdk里面的这个进程的所有代码直接编译成一个动态库,以便我自己的进程编译的时候连接。
编译时使用了-share参数,单编译时报错crtbegin.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC, 刚开始以为需要加上-fPIC参数,结果加上这个参数后,问题并没有解决,后来在网上搜了一下,有一个解释比较专业,是这样解释的“It's because statically built newlib library is used to link with shared