标签:erro ati linux 第七章 环境 报错 bsp use 学习笔记
用到了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()
标签:erro ati linux 第七章 环境 报错 bsp use 学习笔记
原文地址:http://www.cnblogs.com/zhengmeisong/p/7930076.html