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

Ubuntu에서 CMake를 사용하여 Boost와 C 프로그램을 연결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-03 10:08:22878검색

How to Link C   Programs with Boost Using CMake on Ubuntu?

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

문제

C 프로그램을 Ubuntu의 Boost 라이브러리와 연결하려고 하면 다음과 같은 문제가 발생합니다. 오류가 발생할 수 있습니다:

main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'

이 오류는 필요한 Boost 라이브러리가

CMake를 사용한 솔루션

이 문제를 해결하려면 CMake의 find_package 기능을 활용하여 Boost 라이브러리를 찾는 것이 중요합니다. 일반적으로 FindBoost.cmake라는 스크립트는 대부분의 CMake 설치에 포함되어 있습니다.

이 스크립트는 Boost_INCLUDE_DIR을 사용하여 Boost 헤더 파일을 포함하고 Boost_LIBRARIES를 CMake 프로젝트의 Boost 라이브러리에 연결하는 방법에 대한 지침을 제공합니다. 이를 달성하는 방법에 대한 예는 다음과 같습니다.

FIND_PACKAGE(Boost 1.40 COMPONENTS program_options REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})

ADD_EXECUTABLE(anyExecutable myMain.cpp)

TARGET_LINK_LIBRARIES(anyExecutable LINK_PUBLIC ${Boost_LIBRARIES})

추가 정보

  • FindBoost.cmake에 관한 자세한 내용은 공식 Boost 문서: [CMake 문서](https)를 참조하세요. ://cmake.org/Wiki/FindBoost)
  • FindBoost.cmake의 소스 코드에 액세스하려면 다음을 방문하세요. GitHub 저장소: [FindBoost.cmake](https://github.com/Kitware/CMake/blob/master/Modules/FindBoost.cmake)

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

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