• <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)  編輯 收藏 引用
            久久久久久国产精品美女| 久久不见久久见免费视频7| 久久久久国产一区二区| 亚洲欧美成人久久综合中文网 | 天天做夜夜做久久做狠狠| 久久久久久久波多野结衣高潮 | 久久国产精品无码HDAV| 一本色道久久88加勒比—综合| 亚洲精品成人久久久| 国产精品欧美久久久天天影视| 亚洲精品无码专区久久同性男| 韩国三级大全久久网站| 久久国产亚洲精品| 国产一区二区精品久久凹凸| 人妻无码αv中文字幕久久| 激情久久久久久久久久| 久久久久亚洲AV无码麻豆| 久久久青草青青国产亚洲免观| 久久精品国产亚洲av影院| 久久99这里只有精品国产| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久99精品久久久久久| 精品久久亚洲中文无码| 久久一本综合| 国产成人精品久久综合| 国内精品久久久久| 国内精品九九久久久精品| 国产美女亚洲精品久久久综合| 欧美粉嫩小泬久久久久久久| 激情五月综合综合久久69| 色偷偷888欧美精品久久久| 久久精品aⅴ无码中文字字幕重口| 久久久久久久女国产乱让韩| 最新久久免费视频| 亚洲精品tv久久久久久久久久| 久久久免费观成人影院| 日韩欧美亚洲综合久久影院Ds| 久久国产三级无码一区二区| 久久99国产精品成人欧美| 国产免费久久精品丫丫| 精品无码久久久久久久久久|