>백엔드 개발 >C++ >CMake를 사용하여 C 프로그램을 Boost와 성공적으로 연결하는 방법은 무엇입니까?

CMake를 사용하여 C 프로그램을 Boost와 성공적으로 연결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-12 18:58:15511검색

How to Successfully Link a C   Program with Boost Using CMake?

CMake를 사용하여 Boost와 C 프로그램 연결

이 가이드에서는 CMake를 사용하여 C 프로그램을 Boost 라이브러리와 연결하는 문제를 다룹니다. 프로그램을 연결하려고 하면 "`boost::program_options::options_description::m_default_line_length'에 대한 정의되지 않은 참조"와 같은 오류가 발생할 수 있습니다.

연결을 위한 CMake 구성

이 문제를 해결하려면 다음을 포함하도록 CMake 파일을 수정하세요. 행:

find_package(Boost 1.40 COMPONENTS program_options REQUIRED)
include_directories(${Boost_INCLUDE_DIR})

add_executable(my_target_file main.cpp)

target_link_libraries(my_target_file LINK_PUBLIC ${Boost_LIBRARIES})

코드 설명

  • find_package(Boost): Boost 라이브러리와 해당 구성 요소(이 경우에는 program_options)를 찾습니다.
  • include_directories(): 검색에 Boost 포함 디렉터리를 추가합니다. path.
  • add_executable(): main.cpp 소스 파일에서 my_target_file이라는 실행 파일을 생성합니다.
  • target_link_libraries(): Boost 라이브러리를 실행 파일에 연결합니다.

대안 접근 방식

find_package 메서드가 실패하면 아래와 같이 Boost 라이브러리 경로와 이름을 수동으로 지정할 수 있습니다.

include_directories(/path/to/Boost/include)

target_link_libraries(my_target_file ${Boost_PROGRAM_OPTIONS_LIBRARY})

추가 리소스

  • [공식 CMake 문서 FindBoost](https://cmake.org/cmake/help/v3.21/module/FindBoost.html)
  • [GitHub의 FindBoost.cmake 소스 코드](https://github.com/Kitware /CMake/blob/master/Modules/FindBoost.cmake)

위 내용은 CMake를 사용하여 C 프로그램을 Boost와 성공적으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.