• <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福利| 精品久久久久久无码中文野结衣 | 99久久夜色精品国产网站| 奇米影视7777久久精品人人爽| 久久久久青草线蕉综合超碰| 国产成人精品久久二区二区| 国产亚洲美女精品久久久 | 久久午夜夜伦鲁鲁片免费无码影视| 2021国产精品久久精品| 国产精品久久99| 久久精品国产亚洲AV不卡| 精品久久一区二区三区| 老男人久久青草av高清| 国产AV影片久久久久久| 久久午夜无码鲁丝片| 亚洲欧美一区二区三区久久| 国产精品久久久久无码av| 无码国内精品久久人妻麻豆按摩| 97久久精品午夜一区二区| 久久婷婷是五月综合色狠狠| 99久久精品这里只有精品 | 无码人妻久久一区二区三区蜜桃 | 久久亚洲高清综合| 久久久综合九色合综国产| 亚洲狠狠婷婷综合久久久久| 久久久精品日本一区二区三区| 久久久久亚洲AV无码网站| 亚洲色婷婷综合久久| 伊人久久精品影院| 亚洲精品tv久久久久| 久久综合久久鬼色| 亚洲国产精品成人AV无码久久综合影院 | 成人综合伊人五月婷久久| 亚洲香蕉网久久综合影视 | 久久亚洲精品中文字幕三区| 国产Av激情久久无码天堂| 国产精品久久国产精麻豆99网站| 一本久久知道综合久久| 久久综合给合久久狠狠狠97色69| 蜜臀久久99精品久久久久久小说| 日韩精品久久久肉伦网站|