Linux平台的boost安裝全解


      最近把cpp代碼從開發機放到編譯機去,遇到了不少路徑問題,所以記錄了本文。

一、安裝方法

      安裝boost的時候,其實很簡單,按如下步驟安裝:

  1. wget http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz
  2. tar -xzvf boost_1_54_0.tar.gz
  3. cd boost_1_54_0
  4. ./bootstrap.sh --prefix=/usr/local
  5. ./b2 install --with=all
  6. boost庫被安裝在/usr/local/lib下面

二、編譯錯誤

      若編譯帶有boost庫的應用程序時,如在終端運行命令:g++ syslogem.cpp -lboost_system

若出現如下錯誤

  1. undefined reference to `boost::system::generic_category()'
  2. undefined reference to `boost::system::generic_category()'
  3. undefined reference to `boost::system::system_category()'

只好添加路徑

  1. g++ syslogem.cpp -L/usr/local/lib -lboost_system

      而在Linux的eclipse平台上的解決辦法是添加"/usr/local/lib"路徑。

三、運行錯誤

      若再運行階段出現如下錯誤

  1. error while loading shared libraries: libboost_system.so.1.54.0: cannot open shared object file: No such file or directory

在可以進行如下解決:

      1)添加環境變量:LD_LIBRARY_PATH=/usr/local/lib

      在eclipse的添加方式是點擊:運行/運行配置/環境/新建。接着添加上述的變量和變量值,如下所示。

注意:

      若希望在終端上執行命令,則需要export到~/.bash_profile文件中。當然若是添加到了啟動文件后,就不需在eclipse中進行配置了。

      2)手動添加鏈接:ln -s /usr/local/lib/libboost_system.so.1.54.0 /lib64

這個需要在Linux終端進行操作,不管是否使用了eclipse平台。

 

四、eclipse 文件目錄管理

      由於在C++項目中,存在很多文件,為了便於對這些文件的管理,所以創建了一些文件夾對大量文件進行管理。但這樣導致項目中的引用非常復雜,從而可采用在項目中添加自動搜索路徑來解決引用復雜的問題。如下所示:

  1. 右擊項目,選擇屬性
  2. 選擇:C/C++構建à設置àGNC C++ 編譯器à包含
  3. 在上部分中,添加路徑;
  4. 點擊工作空間,添加需要搜索的目錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM