[英]How to compile #include <experimental/any> for clang on OSX
我想在clang OSX
上的C ++程序中編譯#include <experimental/any>
// test.cpp
#include <experimental/any>
int main() {
return 0;
}
嘗試從這里學到的以下命令/選項
clang++ -std=c++14 test.cpp -o test -std=c++1z -stdlib=libc++
clang++ -std=c++1x test.cpp -o test -std=c++1z -stdlib=libc++
clang++ -std=c++1y test.cpp -o test -std=c++1z -stdlib=libc++
clang++ -std=c++1z test.cpp -o test -std=c++1z -stdlib=libc++
但它不會編譯並抱怨以下錯誤:
fatal error: 'experimental/any' file not found
clang++ --version
產生如下:
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
如何編譯#include <experimental/any>
?
我應該在機器上升級鏗鏘聲嗎?
截至目前,clang目前是否支持C ++ 17? 如果是,怎么能得到它的支持?
對於OSX 10.12.5(使用Xcode Developer工具),我們得到了
> clang++ -v
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
並且/Library/Developer/CommandLineTools/usr/include/c++/v1/experimental
沒有any
,但只有
chrono
optional
string_view
tuple
utility
algorithm
dynarray
ratio
system_error
type_traits
所以,看來蘋果的libc ++不提供any
(沒有any
在/Library/Developer/CommandLineTools/usr/include/c++/v1/
其一)。 您必須使用GCC或您自己的clang或boost/any.hpp
,所有這些都可以通過自制軟件安裝。
你拼錯了。 它是“實驗性的”,而不是“實驗性”。
但是,從Clang 4.0開始,你應該只使用<any>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.