码迷,mamicode.com
首页 > 编程语言 > 详细

c++学习笔记(四)- 多线程 枚举 cmake

时间:2017-11-30 18:06:28      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:erro   ati   linux   第七章   环境   报错   bsp   use   学习笔记   

c++ 枚举

用到了c++11规范里的多线程,然后编译的时候就报错了,中午各种改CMakeLists没搞定,下午师弟介绍文档,cmake practice,参考第七章,搞定了。

只需要CMakeLists.txt里添加一句话:

set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11 -pthread")

开始的时候没有-pthread能make,但运行的时候就崩溃了,参考这里解决。

根据讨论,桌面Linux环境这样就行了,如果是嵌入式交叉编译环境的话,还需要显示添加

find_package (Threads)

万一以后要写树莓派呢~

存疑:

中午试的不成功的CMakeLists是从已经编译通过的ORB_SLAM2里拿过来的,如下,当时编译没有问题,且运行tum_mono,cpu使用率从低于100%到最后能高于200%,应该3个线程都开了才会占用这么多吧,不太清楚为什么拿到自己的工程里不行。

 1 # Check C++11 or C++0x support
 2 include(CheckCXXCompilerFlag)
 3 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
 4 CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
 5 if(COMPILER_SUPPORTS_CXX11)
 6    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 7 elseif(COMPILER_SUPPORTS_CXX0X)
 8    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
 9 else()
10    message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
11 endif()

 

c++学习笔记(四)- 多线程 枚举 cmake

标签:erro   ati   linux   第七章   环境   报错   bsp   use   学习笔记   

原文地址:http://www.cnblogs.com/zhengmeisong/p/7930076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!