0
當試圖在Mac OS Sierra中編譯我的軟件時,遇到有關未知編譯指示碼的問題(請參閱下面的代碼段)。據一位同事稱,該軟件能夠在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
不確定在哪裏把它從這裏,任何輸入是非常讚賞。
在MacOS標準的編譯器是鐺,這是* *大多與GCC兼容。 'g ++'命令只是'clang ++'的別名。如果您需要GCC特定的行爲(如您顯示的編譯指示),那麼我建議對這些部分進行條件編譯。 –
謝謝你的回覆@Someprogrammerdude。好的,這個軟件是用'cmake'編譯的,我和我的同事都在使用相同的'cmake'配置,而他的作品和我的作品都沒有。在cla versions版本和庫中,Yosemite和Sierra之間是否有任何顯着的區別,可能會影響「-Wmaybe-uninitialized」,並在編譯時失敗? – Philip