第一次遇到这个警告,记录下:
⚠️PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _a1INiAp from XXXX. To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie
解释:
PIE是指position independent executable,独立可执行文件地址。这个警告大概是说标记了PIE的机器码不允许绝对寻址,这样就可以以随机的地址加载这个可执行文件,能够提高安全性。但是XXXX的某个标记了PIE的地方用了绝对寻址。。
去掉警告的办法:(具体有没有什么副作用还不知道。。)
targets-->build Settings-->Linking-->Generate Position-Dependent Executable 设置为YES