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

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

            windows平臺cl.exe編譯pcre 8.13

            最近在windows平臺開發(fā)的一個project需要使用正則表達式,當然自己實現(xiàn)一個regexp也是可以的,只是太蛋疼且技術不到家。所以我優(yōu)先考慮了open sourcelibrary,pcre是比較有名的庫,在linux編譯都是普通的套路,不過在win下面就稍微麻煩一點了。

            主要參考tombkeeper兄的VC編譯pcre備忘一文。具體步驟參考如下:

            1.        下載最新的pcreftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.13.zip zip/tar.gz/tar.bz2三種格式任選一種,windows的一般用zip),并解壓。

            2.        重命名config.h.genericconfig.h,這是generic配置文件,需要根據(jù)具體的環(huán)境對預編譯做相應修改。
            HAVE_BCOPY 1
            改為0,HAVE_INTTYPES_H 1改為0HAVE_STDINT_H 1改為0。
            如果不修改,在下面編譯dftables的步驟中會報錯:

             

            pcre_internal.h(198) : fatal error C1083: Cannot open include file: 'inttypes.h': No such file or directory

            3.        重命名pcre.h.genericpcre.h,重命名pcre_chartables.c.distpcre_chartables.c

            4.        cl -MD -DHAVE_CONFIG_H dftables.c生成dftables.exe

            5.        dftables.exe pcre_chartables.c (修改了一些注釋,不知道目的何在)

            6.        cl -O1 -MD -DHAVE_CONFIG_H -c pcre_chartables.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_compile.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_config.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_dfa_exec.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_exec.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_fullinfo.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_get.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_globals.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_info.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_maketables.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_newline.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_ord2utf8.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_refcount.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_study.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_tables.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_try_flipped.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_ucd.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_valid_utf8.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_version.c

            cl -O1 -MD -DHAVE_CONFIG_H -c pcre_xclass.c

            lib -out:pcre.lib pcre_chartables.obj pcre_compile.obj pcre_config.obj pcre_dfa_exec.obj pcre_exec.obj pcre_fullinfo.obj pcre_get.obj pcre_globals.obj pcre_info.obj pcre_maketables.obj pcre_newline.obj pcre_ord2utf8.obj pcre_refcount.obj pcre_study.obj pcre_tables.obj pcre_try_flipped.obj pcre_ucd.obj pcre_valid_utf8.obj pcre_version.obj pcre_xclass.obj

            最后生成的pcre.lib就是我們所需要的pcre庫文件。
            【注意】,如果要編譯debug版本的pcre.lib,請用-MDd替代-MD,否則項目會出現(xiàn)“MSVCRTD.lib(cinitexe.obj) : warning LNK4098: 默認庫“msvcrt.lib”的問題。

            7.        拷貝pcre.hpcre.lib到我們自己項目的目錄,然后在源代碼頂部加入以下代碼:
            #include "pcre.h"
            #pragma comment(lib,"pcre.lib")

            8.        用一下代碼測試:

            version= pcre_version();

            wchar_t *shit = (wchar_t *)malloc(strlen(version));

            MultiByteToWideChar(CP_ACP,0,version,-1,shit,wcslen(shit));

            MessageBox(hWnd,shit,shit,MB_OK);

             

            posted on 2011-08-31 17:44 肥仔 閱讀(1431) 評論(1)  編輯 收藏 引用 所屬分類: 正則表達式

            評論

            # re: windows平臺cl.exe編譯pcre 8.13  回復  更多評論   

            請準備他人勞動成功,加入版權(quán)申明!
            2011-11-02 10:23 | tun
            亚洲va久久久噜噜噜久久| 久久久久久毛片免费看| 日本亚洲色大成网站WWW久久| 99久久精品久久久久久清纯| 国产精品久久午夜夜伦鲁鲁| 欧美久久精品一级c片片| 久久精品免费全国观看国产| 精品久久无码中文字幕| 性高朝久久久久久久久久| 2021国产精品午夜久久| 99国内精品久久久久久久| 久久AV无码精品人妻糸列| 久久久久久久国产免费看| 国产91色综合久久免费分享| 久久久久久国产a免费观看不卡| 麻豆成人久久精品二区三区免费 | 久久伊人五月丁香狠狠色| 香港aa三级久久三级| 囯产极品美女高潮无套久久久| 国产 亚洲 欧美 另类 久久| 国内精品久久久久伊人av| 久久无码一区二区三区少妇 | 久久久久亚洲AV无码观看 | 欧美va久久久噜噜噜久久| 伊人久久大香线蕉综合5g| 久久人人爽人人爽人人片AV麻豆| 伊人久久综合热线大杳蕉下载| 97久久精品无码一区二区天美| 久久久久久久综合狠狠综合| 亚洲精品无码久久不卡| 久久亚洲AV成人无码软件| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲国产另类久久久精品| 久久久久亚洲精品日久生情| 久久久无码精品亚洲日韩蜜臀浪潮 | 精品久久久久久久久免费影院| 天天做夜夜做久久做狠狠| 久久精品国产99久久香蕉| 国产香蕉97碰碰久久人人| 色综合久久天天综线观看| 亚洲国产成人乱码精品女人久久久不卡 |