• <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>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            boost 編譯

            Boost歷史版本下載地址

            http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041

             

            bat文件,boost 1.33.1 Python 2.2.1,可能需要重新安裝stl port, stl port版本有問題 

            ::如果不要編譯bjam.exe的話
            rem GOTO install

            cd C:\boost_1_33_1\tools\build\jam_src
            pause
            call build.bat
            pause
            copy C:\boost_1_33_1\tools\build\jam_src\bin.ntx86\bjam.exe C:\boost_1_33_1
            pause

            :install

            rem SET INCLUDE=\"C:\\STLport-4.6.2\\stlport\";%INCLUDE%
            rem SET LIB=\"C:\\STLport-4.6.2\\lib\";%LIB%
            SET MSVC_ROOT="C:\Program Files\Microsoft Visual Studio\VC98"
            SET VISUALC="C:\Program Files\Microsoft Visual Studio\VC98"
            SET JAM_TOOLSET=VISUALC
            SET PYTHON_ROOT=C:\Python22
            SET PYTHON_VERSION=2.2
            SET STLPORT_PATH=C:\STLport-4.6.2\lib
            SET STLPORT_VERSION=4.6.2
            cd c:\Program Files\Microsoft Visual Studio\VC98\bin
            pause

            call VCVARS32.BAT
            pause

            cd C:\boost_1_33_1
            pause

            ::stage代表 lib
            ::msvc-stlport是msvc-stlport-tools.jam文件,可以搜索得到
            ::--with-thread是只編譯thread庫,--without-thread則相反
            ::比如編譯thread 的lib庫如下行.
            rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-thread stage

            ::編譯所有
            bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport install
            bjam -sBOOST_ROOT=. -sTOOLS=msvc install

            ::編譯regex
            rem bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport --with-regex install
            rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-regex install

            ::編譯thread
            rem bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport --with-thread install
            rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-thread install

            pause
            exit

             

             

             

            1、下載python-2.5.2.msi安裝到C:\Python25

            http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi

            2、下載boost_1_35_0,解壓到C:\boost_1_35_0

            http://sourceforge.net/project/downloading.php?group_id=7586&use_mirror=nchc&filename=boost_1_35_0.zip&48604828

            3、執行C:\boost_1_35_0\tools\jam\build_dist.bat

            4、生成了bjam.exe在:C:\boost_1_35_0\tools\jam\src\bin.ntx86\bjam.exe

            5、拷貝bjam.exe到C:\boost_1_35_0

            6、打開cmd,執行:cd C:\boost_1_35_0

            7、執行bjam --toolset=msvc -sPYTHON_ROOT="{C:\Python25}" install

            bjam --toolset=msvc-6.0 stdlib=stlport -sPYTHON_ROOT="{C:\Python25}" install

            等待半個小時左右

            8、將C:\boost_1_35_0\libs文件夾(里面是源代碼,lib_source),拷貝到C:\Boost,并更改名為boost_src,這樣就成了C:\Boost\boost_src

            9、把C:\Boost\include\boost-1_35_0\boost,加入到VC6的Include路徑,hpp也是C++的頭文件啊!Boost庫就是用的這個。

            10、將C:\Boost\include\boost-1_35_0\boost和C:\Boost\boost_src,加入到VC6的source路徑

            11、把C:\Boost\lib,加入到VC6的LIB路徑

            12、C:\boost_1_35_0這個文件夾可以刪除了,如果不想刪除,那么C:\boost_1_35_0\bin.v2這個是編譯時候的obj等文件,可以刪除掉。

            運行出現的錯誤

            1、預定義頭要加入:,D_STLP_DEBUG,__STL_DEBUG

            2、ZM limit 錯誤:工程->設置->C/C++選項卡下面有“工程選項”的一個命令區在命令行的末尾加上/Zm1000,改為/Zm2000也行,是整百的都可以

            3、“compiler   is   out   of   heap   space”,\ZM改成2000(最大了)

            4、“Fatal   Error   C1063”,這個錯誤是編譯器棧溢出,可能是你的程序單個源文件太大了,拆分成小一些的文件試試  
                  MSDN上:  
                  Fatal   Error   C1063  
                 compiler   limit   :   compiler   stack   overflow  
                  The   program   was   too   complex,   possibly   due   to   recursive   include   files.   Split   the   code   into   smaller   source   files   and   recompile.

            手動編譯boost::regex

            1、cmd;

            2、cd C:\boost_1_35_0\libs\regex\build

            3、vcvars32.bat

            4、SET STLPORT_PATH=C:\STLport\lib(如果需要以STLPort編譯的話)

            5、nmake -f vc6-stlport.mak(STLPort編譯)或者 nmake -f vc6.mak(普通編譯)

            用來測試的代碼,建立一個Win32 Console Application:

            #include "stdafx.h"
            #include <iostream>
            #include <boost/regex.hpp>
            #include <boost/thread.hpp>
            int main()

                // 3 digits, a word, any character, 2 digits or "N/A", 
                // a space, then the first word again
                boost::regex reg("\\d{3}([a-zA-Z]+).(\\d{2}|N/A)\\s\\1");   
                std::string correct="123Hello N/A Hello"; 
                std::string incorrect="123Hello 12 hello";   
                assert(boost::regex_match(correct,reg)==true); 
                assert(boost::regex_match(incorrect,reg)==false);
                boost::regex reg1("(new)|(delete)");
                boost::smatch m;std::string s=  "Calls to new must be followed by delete. \  Calling simply new results in a leak!";
                if (boost::regex_search(s,m,reg1))
                {  // Did new match? 
                    if (m[1].matched)   
                        std::cout << "The expression (new) matched!\n"; 
                    if (m[2].matched)   
                        std::cout << "The expression (delete) matched!\n";
                }
                return 0;
            }

            如果一切順利通過,恭喜你,boost安裝成功。

            vc6 上安裝stlport和boost庫

            用戶頭像

            1
            vc 6   sp5補丁  預處理補丁
            python2.2.3
            stlport4.5.3
            boost1.3.0.2
            2
            使用stlport的iostream,boost.python編譯失敗
            如果禁用stlportt的iostream,boost.regex編譯失敗
            選擇boost1.3.0.2的原因:

            http://engineering.meta-comm.com/boost.aspx
            得知Boost-wide regression reports
            vc6基本支持boost1.3.0.2 的全部庫
            而boost以后的版本,vc6 的表現可以說是慘不忍睹。
            boost1.3.0.2支持 python2.2 stlport 4.5.3
            基本就是這個樣子了。

            posted on 2008-04-19 01:55 肥仔 閱讀(1783) 評論(0)  編輯 收藏 引用 所屬分類: Boost & STL

            国产亚洲欧美成人久久片| 久久亚洲中文字幕精品一区四| 久久综合久久鬼色| 四虎影视久久久免费| 亚洲国产小视频精品久久久三级 | 久久99精品久久久久久野外| 99久久99久久精品国产片果冻| 久久亚洲电影| 国产精品一区二区久久不卡| 国产精品一区二区久久精品无码 | 一本大道加勒比久久综合| 欧美日韩精品久久久久| 久久99精品国产麻豆| 亚洲&#228;v永久无码精品天堂久久| 99久久国产亚洲综合精品| 久久精品国产亚洲av影院| 久久久久成人精品无码| 99久久无色码中文字幕人妻| 91久久香蕉国产熟女线看| 亚洲AV日韩AV天堂久久| 亚洲а∨天堂久久精品| 91精品国产91久久久久久蜜臀 | 欧美亚洲另类久久综合| 青青热久久国产久精品| 国产成人精品久久一区二区三区av | 日本加勒比久久精品| 国产精品久久久福利| 亚洲va久久久噜噜噜久久| 久久久久无码国产精品不卡| 久久婷婷久久一区二区三区| 亚洲精品乱码久久久久久蜜桃不卡| 美女久久久久久| 久久国产成人午夜aⅴ影院| 嫩草伊人久久精品少妇AV| 色青青草原桃花久久综合| 国产99久久久国产精免费| 久久99精品久久久久久| 久久91综合国产91久久精品| 国产精品美女久久久| 久久九九全国免费| 久久这里只精品国产99热|