当尝试在Mac OS Sierra中编译我的软件时,我遇到了一个关于未知编译指示的问题(请参阅下面的代码片段)。根据一位同事的说法,该软件能够在Mac OS X Yosemite上编译,具有相同的clang版本(4.2.1)。使用的编译标志是:-std=c++11 -stdlib=libc++
。使用stdlibc++
不是一个选项,因为它不包含std::shared_ptr
。
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
不知道从哪里开始,任何意见都是非常感谢的。
发布于 2017-11-23 15:07:15
而不是写作
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
你应该这样做
#if !defined(__has_warning) || __has_warning("-Wmaybe-uninitialized")
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
#endif
https://stackoverflow.com/questions/40761120
复制相似问题