On Tue, 27 Aug 2013 15:22:49 +0800 (SGT) Quark wrote: > % uname -a > FreeBSD cobalt 9.2-RC3 FreeBSD 9.2-RC3 #0 r254795: Sat Aug 24 20:25:04 UTC > 2013 r...@bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 > > % clang++ --version > FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610 > Target: x86_64-unknown-freebsd9.2 > Thread model: posix > > test program > #include <iostream> > #include <future> > > int main( int argc, char* argv[]) > { > auto f = std::async( [] () { > std::cout << "Hello, World!" << std::endl; > }); > f.wait(); > return 0; > } > > > error received is > % clang++ -otest test.cc > > test.cc:2:10: fatal error: 'future' file not found > #include <future> > ^ > 1 error generated. > > I guess clang is re-using system headers which belong to older gcc 4.2 > I also have gcc48 installed, how can I make clang to refer gcc48 headers?
There two C++ runtime libraries, the old gcc libstdc++ which is used by default and the new C++11 libc++. You can use the latter like this: clang++ -std=c++11 -stdlib=libc++ -otest test.cc
signature.asc
Description: PGP signature