linux使用C++11 thread的问题

来源:互联网 发布:stc单片机rst电路原理 编辑:程序博客网 时间:2024/06/18 12:24

1、执行Makefile文件出现makefile 出现“‘程序名’is up to date”的提示?

解决方案:这表示makefile的target和当前目录下的某个目录名字冲突了(重名了),需要借助.PHONY。

例子:

Makefile
all:
gcc a.c -o a.out
而当前目录下有一个文件夹的名字也是all,make的时候就会出现“is up to date”的提示。
改为:
.PHONY:all
all:
gcc a.c -o a.out
就ok了。

2、运行多线程程序时出现如下错误:terminate called after throwing an instance of 'std::system_error'
  what():  Enable multithreading to use std::thread: Operation not permitted
Aborted (core dumped)

解决方法:在编译C++11 多线程程序时,要加上-lpthread或-pthread

例子:

Makefile

.PHONY:ThreadTest
ThreadTest : ThreadTest.cpp
    g++ -std=c++11 -o ThreadTest -pthread ThreadTest.cpp
clean : 
    rm *.o

3、



原创粉丝点击