linux下boost編譯及鏈結到系統目錄

2021-08-19 15:40:46 字數 1183 閱讀 3440

1、開啟終端,cd 到boost目錄。

2、使用預設的引數直接執行 ./bootstrap.sh

3、./bjam 生成lib檔案(沒注意到還有個形式是./bjam install,直接安裝到系統目錄下面,如果使用了這個命令就不需要向下看了)。

4、在stage/lib下生成了很多libboost*.a和libboost*.so.1.42.0

5、現在我不想拷貝到系統目錄下面,就直接使用

sudo ln -s /media/project/project/thrid_source/third_csource/boost_1_42_0/include /usr/include/boost

將boost目錄下的incude資料夾直接鏈結到系統包含目錄下面。

6、在/media/project/project/thrid_source/third_csource/boost_1_42_0/include /usr/include/boost/stage

下面建立了乙個shell指令碼檔案link_lib.sh,內容是

sudo find $pwd/lib/*.a -type f -exec ln -s {} /usr/lib/ /;

sudo find $pwd/lib/*.so.1.42.0 -type f -exec ln -s {} /usr/lib/ /;

然後在終端中cd到boost/state目錄, 執行./link_lib.sh,輸入密碼後動態庫鏈結完成。

7、開啟ide,測試一下吧。

後記:安裝boost不難,難的是對於我這個linux指令碼菜鳥來說,寫

link_lib.sh是最難的。

其中遇到的幾個問題:

1、ls鏈結需要指定絕對路徑,否則有可能將鏈結出乙個錯誤的檔案。

2、find後不知道exec如何使用,現在看來

sudo find $pwd/lib/*.a -type f -exec ln -s {} /usr/lib/ /;這條命令是由

sudo find $pwd/lib/*.a -type f(用來查詢當前目錄下面的lib資料夾中所有的字尾為.a的檔案),

加上 -exec ln -s {} /usr/lib/ /; (將查詢出來的檔案在

/usr/lib下面

鏈結乙個同名檔案,

{}就相當從上半條命令中得到的結果,做為後半條命令的引數,

/;代表命令列結束。

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庫

編譯環境 作業系統 suse linux enterprise server 10 64 bit 編譯工具 gcc 4.1.2 2.解壓boost到 usr share 3.在命令列執行 usr share boost 1 36 0 tools jam src build.sh生成bjam 4.複製...