C++: Mac上安裝Boost庫並使用CLion開發


1.下載安裝Boost庫

官網下載最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html
選擇UNIX版本:

img

下載后解壓cd至解壓文件夾下

cd /Users/jimmy/Downloads/boost_1_65_0

執行

./booststrap.sh

成功后執行

sudo ./b2 install

幾分鍾之后編譯安裝完成
頭文件位於 /usr/local/include/boost
庫路徑位於 /usr/local/lib

2.使用

使用CLion新建一個C++項目
項目名: ttt
CMakeList.txt
CMake查找連接上Boost庫,要不然編譯會報錯,找不到boost

cmake_minimum_required(VERSION 3.8)
project(ttt)

set(CMAKE_CXX_STANDARD 11)

find_package(Boost 1.65.0 COMPONENTS system filesystem REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})

set(SOURCE_FILES main.cpp)
add_executable(ttt ${SOURCE_FILES})

target_link_libraries(ttt ${Boost_LIBRARIES})

main.cpp
include必須指定boos某個頭文件

#include <iostream>
#include <boost/version.hpp>

using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    cout << "Boost版本:" << BOOST_VERSION << endl;
    return 0;
}

執行成功

img

3. 以下是兩種編譯方法

3.1 自己設定boost頭文件和庫文件位置

cmake_minimum_required(VERSION 3.6)

#設置項目名稱

project(demo)

set(CMAKE_CXX_STANDARD 11)

set(BOOST_ROOT "/usr/local/include/boost")

#添加頭文件搜索路徑

include_directories(/usr/local/include)

#添加庫文件搜索路徑

link_directories(/usr/local/lib)

#用於將當前目錄下的所有源文件的名字保存在變量 DIR_SRCS 中

aux_source_directory(. DIR_SRCS)

add_executable(demo ${DIR_SRCS})

#在這里根據名字boost_thread去尋找libboost_thread.a文件

target_link_libraries(demo boost_thread boost_system)

3.2 讓Clion自動尋找

cmake_minimum_required(VERSION 2.8.4)

project(BoostTest)

message(STATUS "start running cmake...")

find_package(Boost 1.57.0 COMPONENTS system filesystem REQUIRED)

if(Boost_FOUND)

    message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")

    message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")

    message(STATUS "Boost_VERSION: ${Boost_VERSION}") 

    include_directories(${Boost_INCLUDE_DIRS})

endif()

add_executable(BoostTest main.cpp)

if(Boost_FOUND)

    target_link_libraries(BoostTest ${Boost_LIBRARIES})

endif()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM