Ubuntu 11.10とカーネルバージョン3.0.0-23-genericおよび+/-の新規インストールを取得しました。デフォルトでは、Boostの次のバージョン1.46.1を取得します。これは、およびの下にインストールされ/usr/include/boost
ます/usr/lib
。
bravegag@Zeus:~/code/roofline/tool$ dpkg --get-selections | grep boost
libboost-date-time1.46.1 install
libboost-dev install
libboost-iostreams1.46.1 install
libboost-program-options1.46.1 install
libboost-serialization1.46.1 install
libboost-thread1.46.1 install
libboost1.46-dev install
標準のUbuntuの手段で更新してみることができますが、これはおそらく、サードパーティのppaを入手し、副作用としてシステムを不安定にする多くのがらくたを取得する必要があることを意味します。そこで、ソースからBoost 1.50をインストールし、との下にインストールしまし/usr/local/include/boost
た/usr/local/lib
。
私が持っているCMakeプロジェクトは1.50バージョンを問題なくピックアップしています。ただし、「デフォルト」のシステム設定を使用してコンパイルおよびリンクするツールは、1.46.1バージョンを選択することになり、エラーメッセージが表示src/utils.h:17:25: error: ‘boost::BOOST_FOREACH’ has not been declared
されるため、明らかに1.50バージョンを選択していません。
デフォルトのg++/gccBoostバージョンを次のように上書きしてみました。
export CPLUS_INCLUDE_PATH=/usr/local/include/boost/:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/usr/local/lib/:$LIBRARY_PATH
しかし、これでもうまくいきません...私の質問は、古いBoost 1.46のインストールをすべて一掃して、デフォルトのインストール/usr/include
と/usr/lib
1.50のインストールに移行することはできないのでしょうか。これを行うと、システムが壊れますか?私は別の再インストールの危険を冒したくありません。