https://github.com/yyzybb537/libgo
1带饱、下載最新的boost狼牺。至少boost 1.59 以上才能提供高性能的上下文切換掂榔。
2词裤、運行下載的boost目錄中的腳本 bootstrap.sh 查看一下幫助
./bootstrap.sh --help
這里可以通過增加 --prefix 參數(shù)修改boost的安裝路徑(官方指導(dǎo)上都有)。
./bootstrap.sh --prefix="your dir"
3豫尽、運行b2安裝
sudo ./b2 -q install
這里要注意的是篙梢,如果不修改選項,默認是編譯wrap python的美旧。如果機器默認是python2渤滞,且裝了python-dev還好。我的機器裝的anaconda3榴嗅,所以有一些頭文件在編譯boost的時候會在anaconda3下找不到妄呕。
有3個解決辦法:
- 設(shè)置python版本和路徑
./bootstrap.sh --with-python=python2 --with-python-root="your python2 dir"
- 不要編譯python庫
./b2 --without-python install
- 笨一點的辦法,把頭文件考到
anaconda3/include/python3.5/
這個目錄下(假設(shè)anaconda3的python版本是3.5嗽测,那anaconda3下面只有python3.5m目錄)绪励。編譯中找不到文件時,會提示g++ 的頭文件目錄指向了anaconda3/include/python3.5
(目前還不知道在哪個腳本中修改唠粥,以后有時間了再研究)
4疏魏、下載libgo源碼,解壓
5晤愧、參考libgo github主頁的指導(dǎo)安裝
需要注意大莫,libgo目前還是使用boost.coroutine,而boost官方已經(jīng)推薦使用coroutine2 了官份。所以編譯時會有告警葵硕∶继В可以在
libgo/libgo/cmake_config.h.in
文件中增加一行代碼來解決
#define BOOST_COROUTINES_NO_DEPRECATION_WARNING
6、完成懈凹,自己玩吧