2012年11月9日 星期五

boost, clang, libc++

花了很多時間才把 boost 用 clang 跟 libc++ 編譯起來,作一點筆記,免得以後忘記。

首先,目前的 boost 有幾個 library 跟 clang 有相容性問題,編譯的時候可以先關掉。
  • signals
  • python
  • iostreams
  • mpi
所以使用
sudo ./bootstrap.sh --with-toolset=clang cxxflags="-I/usr/local/include/c++/v1 -stdlib=libc++" linkflags="-stdlib=libc++" --without-libraries=signals,python,iostreams,mpi
來設定。

設定完成以後,使用
sudo ./b2 toolset=clang cxxflags="-I/usr/local/include/c++/v1 -stdlib=libc++" linkflags="-stdlib=libc++" install
進行編譯跟安裝,對了,如果有需要的話,記得要用 debug build。