これは私を夢中にさせています:
Xcode 5(Mac OS X 10.8)に付属している標準のclang / llvmコンパイラではコンパイルできないものをたくさん使用する必要があるため、gcc47をbrewでインストールすることにしました。
すべてはうまくいきましたが、コンパイルしようとすると、いくつかのエラーメッセージが表示され、「/ usr / include / c ++ / 4.2.1」からのインクルードがまだあることがわかりました。これは本当に奇妙です。
誰でもきれいに設定する方法を説明できますか?
これらは私がしていたステップです:
- 醸造アップデート
- gcc47をインストールする
- エイリアスgcc = 'gcc-4.7'
醸造は、私が設定していることを私に警告LDFLAGS
してCPPFLAGS
(要約)、引用します:
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
エクスポートLDFLAGS
とCPPFLAGS
経由
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"
トリックを行う必要があります(私は思った)。
しかし、そうではありません。次のようなメッセージが引き続き表示されます。
/usr/include/c++/4.2.1/bits/stl_vector.h:600:7:注:従属ベースクラスpush_back(const value_type&__x)でこの宣言を見つけるには識別子を修飾する必要があります^
そして、私は単に理由を理解していませんか?
LDFLAGS
andに追加するだけCPPFLAGS
ですか?