Skip site navigation (1)Skip section navigation (2)
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>