codelite GCC开关和链接器设置

时间:2018-01-27 20:12:36

标签: gcc linker

我正在尝试使用GCC编译器设置codelite。我正在尝试添加开关:

-fno-pie -no-pie

这在终端中使用gcc时有效。

下面是我放置开关的地方。我已经为交叉GCC(i686)做了这个。

-fno-pie and -no-pie are added

这似乎不起作用。我的反汇编似乎与我在终端中使用gcc使用-fno-pie和-no-pie

进行编译时的反汇编相同

如何让它发挥作用?

感谢您的帮助。

1 个答案:

答案 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