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

Attachment: signature.asc
Description: PGP signature

Reply via email to