Macports on OSX 10.9 - compile with -stdlib=libstdc++

c++, clang, macports, opencv

Solution

The option is simply: `-stdlib=libstdc++`

If you need finer control over the build process for various ports, you can always set variables like: `CXX = "clang -std=c++11 -stdlib=libc++`, `CXXFLAGS = "-Wall -O2 -march=core2"`, etc.

And build `<port>` from source:

sudo port -s install <port> -universal \  
configure.cc="${CC}" configure.cxx="${CXX}" \  
configure.cflags="${CFLAGS}" configure.cxxflags="${CXXFLAGS}"

The other alternative, is to install the `gcc48` (or above) port, and use it as the compiler. Don't use the old gcc-4.2.1 installed with older versions of Xcode. It's rubbish.

Problem

In OSX 10.9 the default `-stdlib` option for clang++ is `libc++`, so that's what Macport uses when building packages. Is there any way to tell Macports to use `libstdc++` instead? In particular I would like to build OpenCV through Macports so it's using `libstdc++`, but I imagine I'll run into a need to do so for other packages as well

Original source