• <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)  編輯 收藏 引用
            一本一道久久精品综合 | 久久精品女人天堂AV麻| 久久久久精品国产亚洲AV无码| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久最新精品国产| 亚洲一区中文字幕久久| 国产激情久久久久影院小草| 久久久久免费精品国产| 久久精品嫩草影院| 狠狠综合久久综合中文88| 久久91精品综合国产首页| 久久久久久亚洲精品无码| 无码任你躁久久久久久老妇| 亚洲精品成人久久久| 欧美精品乱码99久久蜜桃| 亚洲AV日韩AV天堂久久| 国产精品久久久久AV福利动漫| 99久久99久久| 久久亚洲天堂| 久久精品中文无码资源站 | 久久久久国产一级毛片高清板| 久久精品亚洲男人的天堂| 无码任你躁久久久久久久| 日韩人妻无码一区二区三区久久 | 午夜福利91久久福利| 亚洲日韩中文无码久久| 久久电影网一区| 久久这里的只有是精品23| 久久亚洲AV成人无码电影| 久久www免费人成精品香蕉| 婷婷国产天堂久久综合五月| 粉嫩小泬无遮挡久久久久久| 国内精品伊人久久久久网站| 18岁日韩内射颜射午夜久久成人| 青青青青久久精品国产h| 亚洲精品高清一二区久久 | 亚洲午夜久久久精品影院| 欧美亚洲国产精品久久| 国产精品久久久久9999高清| 色婷婷久久久SWAG精品| 久久夜色tv网站|