3.直接執行命令
./bootstrap.sh#完成編譯前配置工作。
./b2 install#完成真正的編譯並安裝boost。
預設標頭檔案在/usr/local/include
預設庫檔案在/usr/local/lib
4.編譯多執行緒示例檔案 test.cpp:
#include#includeusing namespace std;
void dummy(int n)
{ for(int i=0;i編譯中易出現一下兩問題:
問題1:
/usr/bin/ld: boostthreadtest.o: undefined reference to symbol '_zn5boost6system16generic_categoryev'
/usr/local/lib/libboost_system.so.1.66.0: error adding symbols: dso missing from command line
collect2: error: ld returned 1 exit status
g++ test.cpp -o test -lboost_system -lboost_thread。
標準的makefile檔案:
objs = test.o
g = g++
cxxflags = -wall
libs = -lboost_system -lboost_thread
test:$(objs)
$(g) $(objs) -o test $(libs)
$(objs):test.cpp
$(g) $(cxxflags) -c test.cpp
clean:
rm -rf *.o test
問題2:
error while loading shared libraries: libboost_system.so.1.66.0: cannot open shared object file: no such file or directory
原因是:當執行程式需要鏈結動態庫時,提示找不到相關的.so庫,會報錯。也就是說,/usr/local/lib目錄不在系統預設的庫搜尋目錄中,需要將目錄加進去,在/etc/profile末尾新增:
export ld_library_path=/usr/local/lib:$ld_library_path
之後輸入source /etc/profile可以解決問題。
Linux下編譯安裝BOOST
linux平台下要編譯安裝除gcc和gcc c 之外,還需要兩個開發庫 bzip2 devel 和python devel,因此在安裝前應該先保證這兩個庫已經安裝 yum install gcc gcc c bzip2 bzip2 devel bzip2 libs python devel y ta...
Linux下編譯安裝BOOST
linux平台下要編譯安裝除gcc和gcc c 之外,還需要兩個開發庫 bzip2 devel 和python devel,因此在安裝前應該先保證這兩個庫已經安裝 yum install gcc gcc c bzip2 bzip2 devel bzip2 libs python devel y 進入...
Linux下boost庫的安裝
最近由於編譯乙個程式用到了c 的boost庫,所以便安裝了這個庫。但是,其中遇到了一些小問題。所以記錄下來,以供別人參考。首先說一下我的環境 ubuntu 12.04 32bit,gcc 4.6.3 其實在ubuntu下,可以用一下命令直接安裝 sudo apt get install libboo...