如何在代码块上添加编译器标志

Posted

技术标签:

【中文标题】如何在代码块上添加编译器标志【英文标题】:How to add compiler flags on codeblocks 【发布时间】:2015-10-19 07:21:42 【问题描述】:

我一直在尝试编译我在网上找到的一段简单的多线程代码,以学习如何使用多线程。 要运行这段代码,我需要使用编译器标志:-pthread-std=c++0x。 但是每当我尝试添加标志时,构建日志都不会显示它们正在被使用。

我在网上尝试了一些通用技巧来让这些技巧发挥作用,但都没有奏效。有人可以帮忙吗?

我已经尝试了其他在线建议,将编译器标志添加到代码块,但是当我这样做并检查构建日志时,它们都没有出现。

【问题讨论】:

你的意思是代码块 IDE 吗? 是的。 (我必须填写另外几个字符)。 这不是一个通用的 C++ 问题,它本身没有意义。您可能应该包含有关您正在使用的编译器的信息。可能您应该详细说明您要做什么,因为您的问题并不清楚。 很难回答这样一个笼统的问题,但我首先想到的是,您可能已经为调试构建添加了标志,但您是在发布模式下构建,反之亦然 我同意这个问题太笼统了,无法回答。充其量,我们可以建议更多的谷歌搜索和重新安装。 【参考方案1】:

因为This Question被标记为重复,即使与它无关,因为有关于链接器标志,这里是关于编译器标志,我将在这里发布我的答案。

您必须转到 Settings -> Compiler... 然后您必须点击 Linker Settings TAB。

您会在右侧看到其他链接器选项。 您必须在此处输入 -lpthread 并按 OK。

之后您可能需要点击重建

【讨论】:

【参考方案2】:

打开您的项目,然后转到 Project > Build Options > Compiler Flags 。

您可以在“编译器标志”选项卡中打勾,您可以在“其他选项”选项卡中编写其他选项。

做一个或另一个,例如不要勾选“-std=c++98”框并将“-std=c++11”放在其他选项中。这最终会导致两个选项都被传递给编译器。

【讨论】:

这就是我一直在尝试的,由于某种原因实际上并没有使用这些标志。 假设我没有在代码块中创建任何项目并构建单个 .C/.CPP 文件(使用默认 GCC 编译器)。我可以转到设置并进行许多自定义设置。但我不知道如何在不创建任何项目的情况下添加后期构建选项,例如了解目标代码的大小。【参考方案3】:

添加选项:菜单->项目->属性->构建目标选项卡->构建选项按钮

【讨论】:

【参考方案4】:

另一个替代使用“其他选项”的选项是创建自定义编译器标志。因此,除了编译器标志之外,您还可以指定链接器标志。在 -pthread 的情况下(我也遇到了麻烦),它看起来也需要链接器标志,正如 Michi 所提到的 One can create a new compiler flag by right clicking and selecting the new option

【讨论】:

以上是关于如何在代码块上添加编译器标志的主要内容,如果未能解决你的问题,请参考以下文章

代码块 - 使用大地址感知标志编译

在代码块上配置 OpenCV

Java:在某个代码块上设置超时?

在无限平滑修改的猫头鹰滑块上添加暂停

在数据块上运行 sql 查询时出现不匹配错误

带有 var=Thread.currentThread() 的代码块上的 synchronized(...) [重复]