我正在尝试使用GCC编译器设置codelite。我正在尝试添加开关:
-fno-pie -no-pie
这在终端中使用gcc时有效。
下面是我放置开关的地方。我已经为交叉GCC(i686)做了这个。
这似乎不起作用。我的反汇编似乎与我在终端中使用gcc使用-fno-pie和-no-pie
进行编译时的反汇编相同如何让它发挥作用?
感谢您的帮助。
答案 0 :(得分:0)
您已从IDE的顶级菜单栏通过设置 - > 构建设置 - > 编制者 - > GCC - > 编译器选项 - > 新... ,并添加了选项
-fno-pie
和-no-pie
您所做的是编辑GCC的全局编译器选项,CodeLite将使其可用启用或禁用 在任何使用GCC编译器的项目的编译器选项对话框中。 您实际上没有启用其中任何一个 任何使用GCC的特定项目的选项。
默认情况下,GCC(或其他编译器)的全局配置编译器选项 最常见的。没有需要来编辑此配置以使用任何配置 项目中的其他编译器选项。如果您执行编辑配置以进行制作 可用,那么您还需要在GCC项目的项目设置中启用 你想要他们启用它们。
-fpie|-fno-pie
是编译选项。 -pie|-no-pie
不是编译选项:它们是
联动选择。如果您想在所有GCC项目中使这些链接选项可用
那么你将继续进行设置 - > 构建设置 - > 编制者 - > GCC - > 链接器选项 - > 新... 强>
从工作区添加-fno-pie
到GCC项目MyProj
的编译器设置
树视图,导航 MyProj - > 设置 - > {Debug | Release} - > 编译器 - > {C ++ | C}编译器选项。
然后,如果你有不打扰编辑GCC编译器选项配置,那么
编辑右侧的编辑字段 - 可能已包含默认编译器选项
作为-g;-O0;-Wall
- 并将;-fno-pie
附加到那里。如果您有打扰
要将-fno-pie
添加到已配置的编译器选项,然后单击“...”按钮
在编辑字段的右侧,从编译器选项中选择-fno-pie
。
从工作区添加-no-pie
到GCC项目MyProj
的链接器设置
树视图,导航 MyProj - > 设置 - > {Debug | Release} - > 链接器 - > 链接器选项
并以与为编译器选项应用-no-pie
相同的方式应用-fno-pie
。