본문 바로가기

major

CMake로 Boost 라이브러리 링킹하기

main.cpp와 CMakeLists.txt를 만들고 아래 코드를 복붙합니다.

// main.cpp
#include <boost/filesystem.hpp>
#include <iostream>

using namespace std;
namespace fs = boost::filesystem;

int main()
{
    string str = "/Users/kwon/Documents/blog/";
    const char* path = str.c_str();
    
    if(fs::exists(path))
        cout << str + "은 이미 존재하는 디렉토리입니다.\n";
    else{
        cout << str + "은 존재하지 않는 디렉토리입니다.\n";
    }
    
    return 0;
}

Boost 라이브러리를 사용해 폴더 존재 여부를 알아보는 간단한 예제입니다.

// CMakeLists.txt
cmake_minimum_required(VERSION 2.6)

project(main)

find_package(Boost COMPONENTS filesystem REQUIRED)

include_directories(${Boost_INCLUDE_DIRS})
add_executable(main main.cpp)
target_link_libraries(main ${Boost_FILESYSTEM_LIBRARY})

아래의 명령어를 실행합니다.

cd your-project-path

mkdir build

cd build

cmake ..

make

터미널 실행화면

Boost_INCLUDE_DIRS <- 이렇게 B뒤는 소문자로 입력해야 하는데 BOOST 대문자로 입력했다가 한참 헤맸습니다.


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다:D