如何在CodeBlocks上添加编译器标志

8
我一直在尝试编译一个简单的多线程代码片段,以学习如何进行多线程。
为了运行这个代码片段,我需要使用编译器标志:-pthread-std=c++0x
但是每当我尝试添加这些标志时,构建日志都没有显示它们被使用。
我尝试了一些通用技巧来让这些工作,但是没有一个有效。有人能帮助吗?
我尝试了其他网上的建议来在代码块中添加编译器标志,但是当我这样做并检查构建日志时,没有任何一个出现。

是的。(我必须再填写几个字符)。 - user3201708
2
这不是一个通用的C++问题,因此它并没有意义。您应该包含有关您正在使用的编译器的信息。可能您应该详细说明您正在尝试做什么,因为从您的问题中并不太清楚。 - skyking
1
很难回答这样一个泛泛的问题,但我首先想到的是您可能已经为调试构建添加了标志,但您正在发布模式下构建,或者反之亦然。 - bznein
我同意这是一个太泛泛的问题,无法回答。最好的办法是建议更多的谷歌搜索和重新安装。 - Samboy786
使用make并拥有一个Makefile来进行构建。 - Basile Starynkevitch
显示剩余3条评论
4个回答

14
因为这个问题被标记为重复,即使与它无关,因为那里涉及到连接器标志而这里却是关于编译器标志,我将在此发布我的答案。
您需要转到设置 -> 编译器 ...然后接下来要点击链接器设置选项卡。
在右侧,您将看到其他链接器选项。在那里,您必须键入-lpthread并按OK。
之后,您可能需要单击重新构建

4

打开项目,然后依次选择 项目 > 构建选项 > 编译器标志。

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

请选择一项,比如不要同时勾选“-std=c++98”框和将“-std=c++11”放入其他选项中。这将导致两个选项都被传递给编译器。


这就是我一直在尝试的,但出于某种原因,这些标志实际上并没有被使用。 - user3201708
假设我不创建任何项目,只在Codeblocks中构建单个.C/.CPP文件(使用默认的GCC编译器)。我可以进入设置并进行许多自定义设置。但是我无法弄清楚如何添加后构建选项,例如在不创建任何项目的情况下了解目标代码的大小。 - Rajesh

1

除了使用“其他选项”之外,另一个选择是创建自定义编译器标志。因此,除了编译器标志外,您还可以指定链接器标志。在-pthread的情况下(我也遇到了问题),据Michi提到,它似乎也需要链接器标志。

右键单击并选择新选项即可创建新的编译器标志


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接