linux下boost安裝並編譯第乙個多執行緒程式

2021-10-04 19:09:57 字數 1254 閱讀 2196

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...