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>
