如何更改 codelite 中的全局设置编译器、链接器?

问题描述

我使用 CodeLite 进行 C++ 开发。 我可以在 Settings/Build settings/Compiler Options 或 /Linker Options 下编辑 AVAILABLE 选项。 我还可以在工作区/打开活动项目设置下更改特定项目的选项...

我想要做的是更改所有项目(或至少所有新项目)的认设置。 在活动项目设置中,第一个字段是“与全局设置一起使用”,这意味着应该在某个地方可以访问这些全局设置,但我没有找到。我只在 Build Settings/Advanced 下找到了 Include Path 和 Libraries Path 但我也想设置其他认值,例如对于编译器“C++ 编译器选项”,例如.std=c++17 和链接器“链接器选项”,例如-pthread 和“库”。

我制作了许多小项目,为每个小项目手动更改所有这些是一场噩梦。

解决方法

没有用户界面可以做到这一点,但可以做到这一点。

要将新的编译器/链接器选项应用于整个工作区,最简单的方法是:

  • 右键点击您的工作区图标
  • 此视图中有 2 个标签,请选择标有 Environment 的标签
  • 要添加一些新的编译器选项,请设置环境变量 CXXFLAGS
  • 要添加新的链接器选项,请设置环境变量 LinkerOptions

例如,为了使用 -std=c++17 编译我的所有源代码并使用 -s (strip) 链接器选项链接二进制文件,请将以下内容添加到工作区的环境变量部分:

CXXFLAGS=-std=c++17 $(CXXFLAGS)
LinkOptions=$(LinkOptions) -s

CXXFLAGS 仅适用于 C++ 源文件,例如*.cpp 或其他常见扩展名,如 *.cxx*.cc 等。要为 C 源文件设置编译器选项,请使用环境变量 CFLAGS

请注意,我还连接了以前的值,这可以确保新值不会覆盖旧值,而是添加到它

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...