0
Mac OS Sierra에서 소프트웨어를 컴파일하려고 할 때 알 수없는 pragmas와 관련된 문제가 발생합니다 (아래의 스 니펫 참조). 동료에 따르면이 소프트웨어는 Mac OS X Yosemite에서 동일한 clang 버전 (4.2.1)으로 컴파일 할 수 있습니다. 사용되는 컴파일 플래그는 -std=c++11 -stdlib=libc++
입니다. stdlibc++
을 사용하면 std::shared_ptr
이 포함되지 않으므로 옵션이 아닙니다. 여기 알 수없는 경고 그룹 '-Wmaybe-unintialized'Mac OS Sierra
error: unknown warning group '-Wmaybe-uninitialized', ignored
[-Werror,-Wunknown-pragmas]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
여기에서 걸릴 확실
g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
중 인쇄물, 어떤 입력이 많이 받고있다. 대신 쓰기
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
의
을해야 표준 컴파일러는 * GCC와 호환 대부분은 *입니다 연타이다. 'g ++'명령은'clang ++'의 별명입니다. GCC 특정 동작 (예 : 표시하는 pragma)이 필요한 경우 해당 부분에 대한 조건부 컴파일을 제안합니다. –
답장을 보내 주셔서 감사합니다 @Someprogrammerdude. 좋아요, 소프트웨어는'cmake'를 사용하여 컴파일됩니다. 거기서 저와 제 동료는 작품과 광산이 아닌'cmake' 설정을 사용하고 있습니다. 요세미티와 시에라 사이에 클랜 버전과 라이브러리가 '-Wmaybe-uninitialized'를 방해하고 컴파일하는 동안 실패하게 만드는 중요한 차이가 있습니까? – Philip