Linux - 设置 Code::Blocks 来编译多线程 C++ 代码

Linux - setting Code::Blocks to compile multithreading C++ code

我在这里搜索了论坛,但对我的情况没有任何帮助。 我正在尝试在 Code::Blocks 13.12 中编写和编译一些 C++ 多线程代码,目前我唯一的代码是:

#include <iostream>
#include <thread>

void cpp11()
{
    std::cout<<"C++11 MULTITHREADING\n";
}

int main()
{
    std::thread t(cpp11);
    t.join();
}

最初我无法编译 运行 该代码(在 Code::Blocks 和终端中),因为我遇到了一个错误:

Terminate called after throwing an instance of 'std::system_error' what(): Enable multithreading to use std::thread: Operation not permitted.

我发现我能够编译 运行 在终端中调用 g++ 的代码,就像这样:

g++ -std=c++11 -pthread main.cpp -o Program

但我无法在 Code::Blocks 中设置相同的内容。 我转到 项目 -> 构建选项 ,在 编译器设置 选项卡中我选择了 让 g++ 遵循 C++11 ISO C++ 语言标准 [-std=c++11]。 在 编译器设置 -> 其他选项 中,我输入了 -pthread。 在 Linker settings -> Other linker options 我输入了 -pthread。 它不起作用,在我构建并 运行 我在 Code::Blocks 中的项目后,我收到相同的错误消息。

感谢您的帮助!

按照此问题的说明进行操作

How do I link to a library with Code::Blocks?

最后一步,当弹出添加库对话框时,输入pthread。

更新

再次转到构建选项 > 编译器设置。单击其他选项并键入 -pthread