Date: Tue, 27 Aug 2013 19:45:54 +0800 (SGT) From: Quark <unixuser2000-fbsd@yahoo.com> To: Tijl Coosemans <tijl@coosemans.org> Cc: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: c++11 question: clang++ 3.3 <future> header not found Message-ID: <1377603954.62558.YahooMailNeo@web190704.mail.sg3.yahoo.com> In-Reply-To: <20130827101137.60e15b53@kalimero.tijl.coosemans.org> References: <1377588169.38174.YahooMailNeo@web190702.mail.sg3.yahoo.com> <20130827101137.60e15b53@kalimero.tijl.coosemans.org>
next in thread | previous in thread | raw e-mail | index | archive | help
=0A=0A=0A=0A----- Original Message -----=0A> From: Tijl Coosemans <tijl@coo= semans.org>=0A> To: Quark <unixuser2000-fbsd@yahoo.com>=0A> Cc: "freebsd-qu= estions@freebsd.org" <freebsd-questions@freebsd.org>=0A> Sent: Tuesday, 27 = August 2013 1:41 PM=0A> Subject: Re: c++11 question: clang++ 3.3 <future> h= eader not found=0A> =0A> On Tue, 27 Aug 2013 15:22:49 +0800 (SGT) Quark wro= te:=0A>> % uname -a=0A>> FreeBSD cobalt 9.2-RC3 FreeBSD 9.2-RC3 #0 r25479= 5: Sat Aug 24 20:25:04 UTC =0A> 2013 =A0 =A0 root@bake.isc.freebsd.org:/usr= /obj/usr/src/sys/GENERIC =A0amd64=0A>> =0A>> % clang++ --version=0A>> Fre= eBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610=0A>> Target= : x86_64-unknown-freebsd9.2=0A>> Thread model: posix=0A>> =0A>> test prog= ram=0A>> #include <iostream>=0A>> #include <future>=0A>> =0A>> int main(= int argc, char* argv[])=0A>> {=0A>> =A0 =A0 =A0 =A0 auto f =3D std::asyn= c( [] () {=0A>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 std::cout = << "Hello, World!" =0A> << std::endl;=0A>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 });=0A>> =A0 =A0 =A0 =A0 f.wait();=0A>> =A0 =A0 =A0 =A0 = return 0;=0A>> }=0A>> =0A>> =0A>> error received is=0A>> % clang++ -otes= t test.cc=0A>> =0A>> test.cc:2:10: fatal error: 'future' file not found=0A= >> #include <future>=0A>> =A0 =A0 =A0 =A0 =A0^=0A>> 1 error generated.= =0A>> =0A>> I guess clang is re-using system headers which belong to older= gcc 4.2=0A>> I also have gcc48 installed, how can I make clang to refer g= cc48 headers?=0A> =0A> There two C++ runtime libraries, the old gcc libstdc= ++ which is used by=0A> default and the new C++11 libc++.=A0 You can use th= e latter like this:=0A> =0A> clang++ -std=3Dc++11 -stdlib=3Dlibc++ -otest t= est.cc=0A> =0A=0Athanks, it worked.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1377603954.62558.YahooMailNeo>