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
我在这里搜索了论坛,但对我的情况没有任何帮助。 我正在尝试在 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