>  기사  >  백엔드 개발  >  C 0x 모드에서 libc를 사용하여 이 Boost::program_options 예제를 연결할 수 없는 이유는 무엇입니까?

C 0x 모드에서 libc를 사용하여 이 Boost::program_options 예제를 연결할 수 없는 이유는 무엇입니까?

DDD
DDD원래의
2024-11-03 04:41:30619검색

Why can't clang   with libc   in C  0x mode link this boost::program_options example?

C 0x 모드에서 Clang 및 Libc를 사용하여 Boost::Program_Options 연결

Q: C 0x 모드에서 libc로 clang할 수 없는 이유는 무엇입니까? ::program_options example?

보고된 문제는 C 0x 모드에서 clang 및 libc를 사용하여 샘플 Boost::program_options 예제를 컴파일하고 링크하려고 할 때 발생합니다. 컴파일은 성공했지만 링크 시 링커 오류로 이어지는 정의되지 않은 여러 기호가 발생합니다.

A: Clang 및 Libc로 Boost 재구축

이 문제를 해결하려면 다음이 필요합니다. libc 표준 라이브러리와 함께 clang을 사용하여 부스트 라이브러리를 다시 빌드합니다. 다음 단계에서는 프로세스를 간략하게 설명합니다.

  1. 기존 Boost 제거: 충돌을 방지하려면 이전에 설치된 Boost 라이브러리를 제거하십시오.
  2. Boost 소스 다운로드: 공식 웹사이트(예: Boost.org)에서 최신 버전의 Boost에 대한 소스 코드를 얻습니다.
  3. Boost 구성: 다음 명령을 실행하여 clang을 사용하여 빌드할 Boost를 구성합니다. 및 libc :
./b2 toolset=clangcxx --with-libraries=program_options \
  --with-cflags="-stdlib=libc++" --with-ldflags="-stdlib=libc++"
  1. Boost 빌드 및 설치: Boost 라이브러리를 빌드하고 설치하려면 다음 명령을 사용합니다.
./b2 install

libc로 Boost를 다시 빌드한 후 libc 표준 라이브러리와 함께 clang을 사용하여 Boost::program_options 예제를 다시 컴파일하고 연결하면 이전에 발생한 정의되지 않은 기호 오류 없이 성공해야 합니다.

위 내용은 C 0x 모드에서 libc를 사용하여 이 Boost::program_options 예제를 연결할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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