c++學習筆記(四)- 多線程 枚舉 cmake

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.