用g ++编译multithreading代码-Wl, – 不需要不工作

我的问题实际上是在这里描述: 用g ++编译multithreading代码 。 但是关于使用“-Wl, – 不需要”的解决方法的答案不适用于我。

我已经添加了-Wl,--no-as-needed -pthread -std=c++0x ,但是我仍然得到:

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

该怎么办?

Info: Ubuntu 12.04LTS Running Eclipse CDT g++ v4.8.1

编辑:我试着用-Wl,--no-as-needed -lpthread -std=c++0x构build-Wl,--no-as-needed -lpthread -std=c++0x没有运气。 代码:

在C ++中的缓冲区大小

如何避免将数据写入磁盘花费太长时间

重新定位Windows窗体(位置)

在C中链接文件/头文件

C程序与fscanf()神秘停止工作

#include <iostream> #include <chrono> #include <thread> void foo() { std::cout << "Thread 1 created.." << std::endl; } int main() { std::thread t1(foo); t1.join(); return 0; }

编辑:所以不幸的是你的build议没有工作。 我决定使用Boost来代替。

编程方式鼠标在另一个窗口中单击

在不考虑区域设置的情况下处理不区分大小写的情况

在Linux上编译一个基本的OpenCV + Cuda程序

VS2010:设置应用程序构build的文件详细信息

如何绘制一个圆形button,并在上面做标签

这是-Wl,--no-as-needed不要-Wl,--no_as_needed , -Wl,--no_as_needed ,你使用连字符

-pthread是编译器的标志,而不是链接器,链接器的右边是-lpthread

Mingw并不总是带有相同的线程库,MinGW有多个多线程选项,你应该根据MinGW的构建记录下你自己

g++ filename.c -std=c++11 -lpthread

我正在用上面的命令编译你的代码,它的工作是完美的。

相关文章

Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自...
fatal: remote origin already exists.解决方法 第一个问题g...
git常用命令(二)查看历史记录 git log [--pretty=oneline]...
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该...
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能...
方法:1、文件没有git操作时用“git checkout--文件”命令还...