web-dev-qa-db-ja.com

Boostをclang ++ / libc ++でコンパイル/リンクする方法は?

この質問への回答 c ++ 0xモードでlibc ++を使用してclangがこのboost :: program_optionsの例をリンクできないのはなぜですか? 「clang ++ -stdlib = libc ++を使用してboostを再構築する必要があります」

MacOS Lionをclang v3.0で使用しています。 clangを使用してBoost v1.48.0をビルドし、libc ++とリンクするにはどうすればよいですか?

更新:user-config.jamファイルを次のように作成しました:

using clang-darwin

... gccの代わりにclangでBoostをビルドします。 libstdc ++ではなくlibc ++とリンクするにはどうすればよいですか?

61
x-x

私もこれを行う方法を知りませんでした。しかし、 here をいじくり回した後、 getting started 、および trial およびエラー:

$ ./bootstrap --with-toolset=clang
$ ./b2 clean
$ ./b2 toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++"

多くの警告が表示されます。そして、 LWG 2059 が原因で、シグナルライブラリの構築に失敗します。しかし、そうでなければ私はthinkそれは動作します。

93
Howard Hinnant

別のオプションは Homebrew を使用することです:

brew install boost --c++11

すべてのオプションに関する情報を取得するには、次を使用します。

brew info boost
15
Jonas Klemming