【发布时间】:2014-04-26 15:01:30
【问题描述】:
我的目标是创建多线程程序,我什至无法获得一个简单的线程 执行 ON ECLIPSE CDT。我的工具: 日食 3.8.1 CDT Ubuntu 13.10
我注意到我的问题非常相似。我已经尝试过其他解决方案,但我无法让它们为我工作。
当我在 Eclipse CDT 中键入代码时,Eclipse 不会“解析”符号“线程”,但是,它可以找到头文件“线程”。 'Mutex' 也无法解析。此外,构建后,我运行程序,eclipse返回:
"在抛出 'std::system_error' 的实例后调用终止 what(): 启用多线程以使用 std::thread: Operation not allowed"
一些补充说明:
我可以使用以下命令在终端中编译和执行代码: 'clang++ c.cpp -pthread -std=c++11' 但... 'g++ c.cpp -pthread -std=c++11' 编译并 产生与上面引用的相同的错误。所以看起来这是一个编译器问题。我做了 开始使用 clang++ 编译器在 Eclipse CDT 中的一个新项目中编写代码,现在它给出了相同的未解析的“线程”并产生了上面引用的错误。所以现在我认为我在 Eclipse 中设置了一些错误的设置、路径或标志。
include <iostream>
include <thread>
using namespace std;
void p1(){
cout<<"process 1 is processing"<<endl;
}
int main() {
thread t1(&p1);
cout<<"Hello from main()"<<endl;
t1.join();
return 0;
}
【问题讨论】:
标签: eclipse multithreading c++11