XCode Build Settings中有一个名为“Do not Create Position Independent Executables”的选项。这是直截了当的。
但是,我正在使用MonoDevelop和MonoTouch开发我的应用程序,我找不到相应的设置。我已经尝试将-fpie标志传递给编译器,但似乎不起作用。当我使用otool检查编译的二进制文件时,它没有设置PIE标志。
请帮忙。
答案 0 :(得分:7)
MonoTouch目前不支持与位置无关的代码,当我们对托管代码进行AOT时,我们会生成与位置相关的代码。
我们可能会在将来解决此问题,但现在不是优先事项。
<强>更新强>
Apple在发布到App Store时刚刚开始警告非PIE启用的可执行文件。这显然会改变我们的优先事项。
更新2
我们有一个潜在的修复程序正在进行测试/质量保证(但尚未确定发布日期)。
更新3(2015/03/21)
很久以前就修好了。