cmakeで指定したバージョンのboostを認識させる
目的
- Linuxで自分で用意したboostを利用したいが、cmakeは頑なに/usr/libにあるライブラリを利用しようとする問題の解決
- 具体的には、最新のboost(1.57.0)がホームディレクトリにあって、それを利用してboost.numpyをビルドしたい
環境
CentOS 6.5
boost 1.57.0
python 3.4 (anaconda)
インテルコンパイラ 14.0.1(composer_xe_2013_sp1)
boost.pythonはインテルコンパイラを利用してpython3.4でビルド済み
方法
- /usr/lib64/boostからBoost-relwithdebinfo.cmake Boost.cmake BoostConfig.cmake BoostConfigVersion.cmakeの4つを適当なディレクトリにコピー
- 上記のファイルが見つからない場合
- 一旦は普通にcmakeで設定しBOOST_DIRの項目の項目にあるディレクトリを確認
- (cmakeの設定項目を全て表示させるために"Grouped"と"Advanced"のチェックボックスをチェックしてください)
- BoostConfig.cmakeを編集して利用したいに合わせてバージョン番号やディレクトリを変更
- cmakeのBOOST_DIRにBoostConfig.cmakeなどがあるディレクトリを指定
- CMAKE_EXE_LINKER_FLAGSに -lboost_python3 -L(boostのライブラリのパス) を指定
- 上記のファイルが見つからない場合
- 一旦は普通にcmakeで設定しBOOST_DIRの項目の項目にあるディレクトリを確認
- (cmakeの設定項目を全て表示させるために"Grouped"と"Advanced"のチェックボックスをチェックしてください)
これで問題なくビルドできるはずです。
最後の項目は、Linux環境ではboostのライブラリが自動でリンクされないので、そのための設定です。
最後に
XXXConfig.cmakeのような設定ファイルを利用してシステム標準のライブラリを取得するのは、多分、boost以外にもあると思うので、どうやってもcmakeが指定したバージョンのライブラリを認識してくれない場合はご検討ください。
Author And Source
この問題について(cmakeで指定したバージョンのboostを認識させる), 我々は、より多くの情報をここで見つけました https://qiita.com/soyiharu/items/2a7b8767069018552c40著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .