> 백엔드 개발 > C++ > Catalina로 업그레이드한 후 에서 'signbit'이 누락되는 이유는 무엇입니까?

Catalina로 업그레이드한 후 에서 'signbit'이 누락되는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-12 17:43:02
원래의
401명이 탐색했습니다.

Why is Catalina로 업그레이드한 후? " /> Catalina로 업그레이드한 후? " />

Catalina C :

Mojave에서 Catalina로 업그레이드한 후 사용자가 컴파일에 직면할 수 있는 "signbit" 오류 처리 C 프로그램에서 헤더를 참조할 때 발생하는 문제입니다. 전역 네임스페이스.

처음에는 CFLAGS, CCFLAGS 및 CXXFLAGS 환경 변수를 수정하려고 시도해도 결과가 나오지 않는 것으로 보입니다. 그러나 자세히 살펴보면 문제의 근본 원인은 다른 곳에 있습니다.

CMAKE_OSX_SYSROOT의 역할

CMAKE_OSX_SYSROOT의 가치 CMAKE_OSX_SYSROOT는 이 문제에서 중추적인 역할을 합니다. 기본적으로 Catalina로 업그레이드한 후 잘못된 위치를 가리킵니다. 이로 인해 빌드 시스템이 필요한 정의가 부족한 잘못된 헤더 파일을 사용하게 됩니다.

해결책: 올바른 CMAKE_OSX_SYSROOT 설정

상황을 해결하려면, SDK 헤더에 대한 적절한 경로를 수동으로 지정하는 것이 중요합니다. 다음 단계를 수행하면 됩니다.

  1. 잠재적인 호환성 문제를 방지하려면 Xcode가 최신 상태인지 확인하세요.
  2. xcrun --show-sdk-path 명령을 사용하여 올바른 SDK 경로를 결정합니다.
  3. CMake 구성을 다음과 같이 수정합니다. 다음:
set(CMAKE_OSX_SYSROOT /sdk/path)
로그인 후 복사

또는 CXX 컴파일러에 대해 -isysroot 플래그를 직접 설정할 수 있습니다.

set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")
로그인 후 복사

결론

CMAKE_OSX_SYSROOT의 잘못된 설정을 해결하면 관련 오류를 성공적으로 해결할 수 있습니다. 를 사용하여 "서명"하고 C 프로그램 개발을 계속합니다. Catalina 환경에서.

위 내용은 Catalina로 업그레이드한 후 에서 'signbit'이 누락되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿