Questo mi sta facendo impazzire:
Ho bisogno di usare molte cose che semplicemente non vengono compilate con i compilatori clang / llvm standard forniti con Xcode 5 (su Mac OS X 10.8), quindi ho deciso di installare gcc47 tramite brew.
È andato tutto bene, ma quando provo a compilare le cose, ricevo diversi messaggi di errore e ho scoperto che alcuni inclusi provengono ancora da "/usr/include/c++/4.2.1", il che è davvero strano.
Qualcuno può spiegarmi come configurarlo in modo pulito?
Questi sono i passi che stavo facendo:
- brew update
- brew install gcc47
- alias gcc = 'gcc-4.7'
brew mi ha avvisato che devo impostare LDFLAGS
e CPPFLAGS
, citando (riassunti):
This formulas are keg-only: so they were not symlinked into /usr/local.
Conflicts with gmp, mpfr, libmpc, ppl in main repository.
Generally there are no consequences of this for you. If you build your
own software and it requires these formulas, you'll need to add to your
build variables:
LDFLAGS: -L/usr/local/opt/gmp4/lib
CPPFLAGS: -I/usr/local/opt/gmp4/include
LDFLAGS: -L/usr/local/opt/mpfr2/lib
CPPFLAGS: -I/usr/local/opt/mpfr2/include
LDFLAGS: -L/usr/local/opt/libmpc08/lib
CPPFLAGS: -I/usr/local/opt/libmpc08/include
LDFLAGS: -L/usr/local/opt/ppl011/lib
CPPFLAGS: -I/usr/local/opt/ppl011/include
LDFLAGS: -L/usr/local/opt/cloog-ppl015/lib
CPPFLAGS: -I/usr/local/opt/cloog-ppl015/include
Quindi esportando LDFLAGS
e CPPFLAGS
tramite
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/gmp4/lib -L/usr/local/opt/mpfr2/lib -L/usr/local/opt/libmpc08/lib -L/usr/local/opt/ppl011/lib -L/usr/local/opt/cloog-ppl015/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/gmp4/include -I/usr/local/opt/mpfr2/include -I/usr/local/opt/libmpc08/include -I/usr/local/opt/ppl011/include -I/usr/local/opt/cloog-ppl015/include"
dovrebbe fare il trucco (ho pensato)
Ma non è così. Continuo a ricevere messaggi come:
/usr/include/c++/4.2.1/bits/stl_vector.h:600:7: note: must qualify identifier to find this declaration in dependent base class push_back(const value_type& __x) ^
e semplicemente non capisco perché?