2016-11-23 5 views
0

Beim Versuch, meine Software in Mac OS Sierra zu kompilieren, stoße ich auf ein Problem bezüglich unbekannter Pragmas (siehe Ausschnitt unten). Laut einem Kollegen kann die Software Mac OS X Yosemite mit der gleichen Sprachversion (4.2.1) kompilieren. Die verwendeten Kompilierungsmerker sind: -std=c++11 -stdlib=libc++. Die Verwendung von stdlibc++ ist keine Option, da std::shared_ptr nicht enthalten ist.Unbekannte Warngruppe "-Waybe-unintialized" Mac OS Sierra

error: unknown warning group '-Wmaybe-uninitialized', ignored 
    [-Werror,-Wunknown-pragmas] 
        #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" 

hier ein Druck

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 

Ungewiss aus g++ --version

ist, wo es nehmen von hier wird jeder Eingang sehr geschätzt.

+2

Auf macOS der Standard-Compiler Clang, die * meist mit GCC * kompatibel ist. Der Befehl 'g ++' ist nur ein Alias ​​für 'clang ++'. Wenn Sie ein GCC-spezifisches Verhalten benötigen (wie das von Ihnen gezeigte Pragma), schlage ich eine bedingte Kompilierung für diese Teile vor. –

+0

Vielen Dank für Ihre Antwort @Someprogrammerdude. Okay, die Software wird mit 'cmake' kompiliert, wobei sowohl ich als auch mein Kollege die gleiche' cmake' Konfiguration verwenden, während seine Arbeit und meine nicht funktioniert. Gibt es einen signifikanten Unterschied zwischen Yosemite und Sierra in Bezug auf Sprachversionen und Bibliotheken, die "-Waybe-nicht initialisiert" stören könnten und es beim Kompilieren scheitern lassen? – Philip

Antwort

0

Statt zu schreiben

#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" 

sollten Sie tun

#if !defined(__has_warning) || __has_warning("-Wmaybe-uninitialized") 
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" 
#endif 
Verwandte Themen