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

Chandler Carruth chandlerc at google.com
Sat Apr 28 02:00:12 PDT 2012


On Fri, Apr 27, 2012 at 2:14 PM, Rafael EspĂ­ndola <
rafael.espindola at gmail.com> wrote:

> On 27 April 2012 15:07, Nathan Ridge <zeratul976 at hotmail.com> wrote:
> >
> > Hello,
> >
> > 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
> >    path.
> >  - 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?
>
> Those comments are a bit out of date for linux.  You should be able to
> configure clang with --with-gcc-toolchain pointing to where you
> install g++ 4.7.


Or if you install Clang alongside the gcc 4.7 installation, it should Just
Work without any further action. We look adjacent to the clang binaries for
a companion GCC installation specifically to support this (quite common)
use case.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120428/1eb6d334/attachment.html>


More information about the cfe-dev mailing list