• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Error

            C++博客 首頁 新隨筆 聯系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
            實際上我就是用默認的bjam install,偷懶了,,,
            linux默認頭文件會放到/usr/local/include下面  lib放到/usr/local/lib下面





            1.下載 boost-1_52 http://sourceforge.net/projects/boost/files/boost/1.52.0/
            2. 將文件解壓在/usr/local/目錄下
            3. 進入/usr/local/boost-1_52_0/ 目錄, 在terminal中輸入
                         ./bootstrap.sh
            4.進入/usr/local/boost-1_52_0/ 目錄,在terminal中輸入
                        sudo ./bjam  --layout=versioned --build-type=complete --toolset=gcc install 
            5.添加環境變量(剛改完要重啟或者注銷一下來更新剛修改過的環境變量)
               兩種方法:
               (1)修改/etc/profie文件 末尾添加
                        export BOOST_INCLUDE=/usr/local/include/boost-1_52
                        export BOOST_LIB=/usr/local/lib
                (2)在/etc/profile.d/ 中新建一個shell文件boost.sh
                         #!/bin/sh 
                         export BOOST_INCLUDE=/usr/local/include/boost-1_52
                         export BOOST_LIB=/usr/local/lib






            1.Boost庫的下載地址:http://sourceforge.net/projects/boost/files/boost/1.44.0/ 
            2.Boost庫的編譯,安裝 
            下載boost_1_44_0.tar.gz    
            tar -zxvf boost_1_44_0.tar.gz  
            然后進入解壓縮后的文件夾編譯boost的編譯器jam 
            cd boost_1_44_0\tools\jam 
            ./build_dist.sh 
            編譯完后在這個目錄下有編譯出的bjam文件 
            boost_1_44_0\tools\jam\stage\bin.linuxx86 
            把它copy到boost_1_44_0 然后在這個目錄下運行命令編譯: 
            ./bjam "-sTOOLS=gcc" "--includedir=/usr/include" "--libdir=/usr/lib/boost" install 
            ./bjam --toolset=gcc --includedir=/usr/local/include --libdir=/usr/local/lib/boost install 
            開始編譯,等待編譯完成,需很長時間。 
            關于bjam的后面的參數的設置: 
            -sTOOLS=gcc  指定編譯器為GCC 
            --includedir=/usr/include/  指定頭文件的安裝目錄,我安裝在/usr/include下。如果安裝成功,將在/usr/include/生成目錄boost_1_33,該目錄下就是boost的頭文件目錄 
            --libdir=/usr/lib/boost  指定boost的庫文件的存放位置, 生成的 .a .so 文件將放在該目錄下 
            install 編譯并安裝boost
            3.注意事項 
            安裝完成后,為了每次使用時不用輸入太多的目錄,可以在/etc/profile中加入: 
            BOOST_INCLUDE=/usr/include/boost 
            BOOST_LIB=/usr/lib/boost 
            export BOOST_INCLUDE BOOST_LIB 
            以后在編譯程序時,只需要用:-I$BOOST_INCLUDE -L$BOOST_LIB 即可,還要使用-l指定了鏈接庫。 
            也許會出現編譯時或者運行時找不到動態庫(*.so)的錯誤 
            把/usr/lib/boost追加到動態鏈接庫配置文件/etc/ld.so.conf中,然后直接運行ldconfig,即可! 
            {僅測試成功一次的方式:./bjam --toolset 
            lib:/newdisk/hotevent/boost_1_44_0/stage/lib 
            include:/newdisk/hotevent/boost_1_44_0 
            ln -s /newdisk/hotevent/boost_1_44_0  /usr/include/boost 
            并把/newdisk/hotevent/boost_1_44_0/stage/lib加入到/etc/ld.so.conf,用命令ldconfig更新一下。 
            在編譯程序時直接用g++ re.cpp -lboost_regex -o re即可!} 
            4.Boost庫的使用舉例 
            第一個測試文件是lex.cpp: 
            #include <boost/lexical_cast.hpp> 
            #include <iostream> 
            int main() 
            using boost::lexical_cast; 
            int a = lexical_cast<int>("123"); 
            double b = lexical_cast<double>("123.12"); 
            std::cout<<a<<std::endl; 
            std::cout<<b<<std::endl; 
            return 0; 
            }編譯:g++ lex.cpp -I$BOOST_INCLUDE -o lex 
            運行:./lex 
            輸出: 
            123 
            123.12 
            我們的第二個例子是re.cpp: 
            #include <iostream> 
            #include <string> 
            #include <boost/regex.hpp> 
            int main() { 
            std::string s = "who,lives:in-a,pineapple under the sea?"; 
            boost::regex re(",|:|-|\\s+"); 
            boost::sregex_token_iterator 
            p(s.begin( ), s.end( ), re, -1); 
            boost::sregex_token_iterator end; 
            while (p != end) 
            std::cout << *p++ << '\n'; 
            }編譯:g++ re.cpp -I$BOOST_INCLUDE -lboost_regex -o re運行:./re輸出: 
            who 
            lives 
            in 
            pineapple 
            under 
            the 
            sea? 
            附注:為了讓動態鏈接庫為系統所共享,還需運行動態鏈接庫的管理命令--ldconfig 
            ldconfig 命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態 鏈接庫(格式如前介紹,lib*.so*),進而創建出動態裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認為 /etc/ld.so.cache,此文件保存已排好序的動態鏈接庫名字列表.
            posted on 2014-01-15 13:43 Enic 閱讀(1184) 評論(0)  編輯 收藏 引用
            久久精品中文字幕一区| 亚洲欧洲日产国码无码久久99| 亚洲一区精品伊人久久伊人| 久久精品国产半推半就| 久久久老熟女一区二区三区| 少妇人妻综合久久中文字幕| 久久综合伊人77777麻豆| 国产精品VIDEOSSEX久久发布| 精品久久久久久中文字幕人妻最新| 最新久久免费视频| 亚洲国产成人精品91久久久| 色天使久久综合网天天| 久久精品国产亚洲AV不卡| 久久国产精品免费一区| 亚洲国产成人久久综合碰碰动漫3d| 久久国产乱子精品免费女| 2021久久国自产拍精品| 99久久精品毛片免费播放| 久久福利青草精品资源站| 久久九九全国免费| 国产精品永久久久久久久久久 | 久久人人爽人人爽人人AV东京热 | 久久久久久一区国产精品| 93精91精品国产综合久久香蕉 | 亚洲а∨天堂久久精品| 亚洲国产高清精品线久久| 中文精品久久久久人妻| 久久夜色精品国产亚洲| 久久久久亚洲精品无码蜜桃| 久久99国产精品久久久| 国产成人精品久久亚洲| 久久久久国产成人精品亚洲午夜| 久久婷婷是五月综合色狠狠| 伊人久久大香线蕉av不变影院| 国产精品一久久香蕉国产线看观看| 国产欧美久久久精品| 欧美久久久久久午夜精品| 久久亚洲AV成人无码软件| 7777久久亚洲中文字幕| 久久强奷乱码老熟女网站| 人妻少妇久久中文字幕一区二区|