Date: Tue, 27 Aug 2013 10:11:37 +0200 From: Tijl Coosemans <tijl@coosemans.org> To: Quark <unixuser2000-fbsd@yahoo.com> Cc: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: c++11 question: clang++ 3.3 <future> header not found Message-ID: <20130827101137.60e15b53@kalimero.tijl.coosemans.org> In-Reply-To: <1377588169.38174.YahooMailNeo@web190702.mail.sg3.yahoo.com> References: <1377588169.38174.YahooMailNeo@web190702.mail.sg3.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
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 root@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 #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.21 (FreeBSD)
iF4EAREIAAYFAlIcXz0ACgkQfoCS2CCgtiv65wD/UzibnZLazpX5LHpSaTDIGRzn
SloQSeyfokjqrbdlKx4BAIPJJtIaL1SiLDyOZQ6AMDBZs/bmAioXKhOy0VHwcmQQ
=Xq4g
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130827101137.60e15b53>
