[cfe-dev] getting clang to find non-default libstdc++

Nathan Ridge zeratul976 at hotmail.com
Fri Apr 27 12:07:24 PDT 2012


I am trying to use clang for the first time, on Ubuntu 10.04.

The default compiler on Ubuntu 10.04 is GCC 4.4, but I've built
GCC 4.7 from source and use it to compile C++11 programs.

Clang finds GCC 4.4's libstdc++ no problem, but I need it to
use GCC 4.7's libstdc++ because my program uses standard
library features that have been added between GCC 4.4 and 4.7.
How do I direct clang to find the 4.7 libstdc++?

I saw the following instructions on the "Get Started" page:

"If Clang cannot find your system libstdc++ headers, please 
follow these instructions:
 - 'gcc -v -x c++ /dev/null -fsyntax-only' to get the
 - Look for the comment "FIXME: temporary hack:
   hard-coded paths" in clang/lib/Frontend/InitHeaderSearch.cpp 
   and change the lines below to include that path"

Is that the only way? Having to recompile the compiler to get
it to find a different standard library seems a bit excessive...
shouldn't one be able to switch standard libraries without
recompiling the compiler?


More information about the cfe-dev mailing list