c++11 question: clang++ 3.3 <future> header not found

Tijl Coosemans tijl at coosemans.org
Tue Aug 27 08:11:51 UTC 2013


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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20130827/03835366/attachment.sig>


More information about the freebsd-questions mailing list