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

            用的VC 2005, 和原來VC 6的設(shè)置項(xiàng)對應(yīng)不上, 很多半天都找不到.好不容易找全了, 卻還是編譯出錯.
            最后,只好選擇再裝一個VC6, 嗯, 兩個VC, 不錯.

            先介紹一下Parser Generator,主頁下載:http://www.bumblebeesoftware.com/downloads.htm
            Parser Generator is a YACC and Lex programming tool for Windows. As well as including a Graphical User Interace, the software also includes two versions of YACC and Lex, called AYACC and ALex. Parser Generator is able to generate C, C++ and Java parsers and lexical analysers. This includes both Unicode and Multibyte Character Set (MBCS) variants. In your applications you can create multiple, thread safe, instances of these parsers and lexical analysers.

                    下面說一下windows環(huán)境下parser generator和vc++的各項(xiàng)配置

             (一)parser generator的環(huán)境設(shè)置

                     安裝好parser  generator,打開集成開發(fā)環(huán)境,點(diǎn)項(xiàng)目Project菜單,在下拉菜單中選LibBuilder,彈出LibBuilder對話框選擇屬性按鈕,彈出compiler properties 對話框: 
               Name 選擇Visual C++ (32-bit)

               Directory :msvc32
               options:

              依次為  vc++版本(Versoin 6)
              是否支持unicode碼。(選擇默認(rèn))
              是否把w_char_t作為內(nèi)建類型。(選擇默認(rèn))

              下邊是VC的各種目錄:
              依次為
              Compiler Bin Directory (C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\BIN

              Compiler Bin Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\COMMON\MSDEV98\BIN

             Compiler Include Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE

              Compiler Include Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\MFC\INCLUDE

              Compiler Library Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\LIB

              Compiler Library Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\MFC\LIB

                注意:編譯器安裝目錄根據(jù)個人安裝目錄需要做相應(yīng)的調(diào)整。所有的這些設(shè)置完成之后點(diǎn)ok。

                  最后一步,配置parser  generator的properties,如圖即可:


                  返回LibBuilder。點(diǎn)Build就可以編譯vc++使用的lex與yacc的lib庫。

                        注:我參考Vs 2003.net的設(shè)置,在VC 2005下進(jìn)行相應(yīng)設(shè)置, 結(jié)果lex與yacc的lib庫沒能編譯通過, 可能是我設(shè)置錯誤, 不應(yīng)該是尚不兼容的問題吧. 

                生成庫文件在軟件安裝目錄下的D:\Parser Generator 2\Cpp\Lib\msvc32目錄下。

            (二)vc++環(huán)境的設(shè)置

              1.目錄設(shè)置

                     為了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex的庫文件,需要對VC++進(jìn)行相關(guān)的目錄設(shè)置
            (1)       選擇Tools菜單中的Options命令,打開Options對話框。
            (2)       選擇Directories選項(xiàng)卡。
            (3)       在Show Directories for下拉列表框中選擇Include Files。
                       在Directories框中,點(diǎn)擊最后的空目錄,并填入 F:\PARGEN\CPP\INCLUDE(根據(jù)個人安裝目錄需要做相應(yīng)的調(diào)整)
            (4)       在Show Directories for下拉列表框中選擇Library Files。
                       在Directories框中,點(diǎn)擊最后的空目錄,并填入F:\PARGEN\CPP\LIB\MSVC32
            (5)       在Show Directories for下拉列表框中選擇Source Files。
                       在Directories框中,點(diǎn)擊最后的空目錄,并填入F:\PARGEN\CPP\SOURCE
            (6)       點(diǎn)擊OK按鈕,Options對話框?qū)⒔邮茉O(shè)置并關(guān)閉。
             

            2.項(xiàng)目設(shè)置
                    對于每個VC++項(xiàng)目,都需在VC++中進(jìn)行以下設(shè)置,以使VC++可以從特定的庫中接受LEX和YACC所需要的函數(shù)和變量
            (1)       選擇Project菜單中的Settings命令,打開Project Settings對話框。
            (2)       在Settings for下拉列表框中選擇Win32 Debug。
            (3)       選擇C/C++選項(xiàng)卡, 在Category下拉列表框中選擇General。
                             在Preprocessor Definitions框中,在當(dāng)前文本的最后,輸入
                            ,YYDEBUG
                        注:對應(yīng)到VC 2005為C/C++->Preprocessor->Preprocessor Definitions.
            (4)       選擇Link選項(xiàng)卡,在Category下拉列表框中選擇General。
                             在Object/Library Modules框中,在當(dāng)前文本的后面,輸入yld.lib
                        注:VC 6中的Object/Library Modules對應(yīng)到VC 2005為Propert->Configuration Properties->Linker->Input->Additional Dependencies ,找了好久.
            (5)       在Settings for下拉列表框中選擇Win32 Release。
            (6)     重復(fù)第4步的工作。
            (7)   點(diǎn)擊OK按鈕,Project Settings對話框設(shè)置完畢。

               這樣設(shè)置之后我們就可以用vc++編譯Parser Generator 生成的c文件了。具體為:
              先打開Parser Generator 集成開發(fā)環(huán)境。點(diǎn)擊Project菜單,點(diǎn)擊下拉菜單中的ParseWizard菜單,一路下去建立一個工程。然后點(diǎn)擊project菜單下的的Rebuild  All。在項(xiàng)目文件夾下就生成了相應(yīng)c文件與h文件。
              再用VC++建立一個空控制臺工程,然后把用用Parser Generator
            生成的c文件和頭文件加入工程中。接著對VC++進(jìn)行上面所說的項(xiàng)目設(shè)置,然后就可以編譯運(yùn)行了。新手可以使用parser generator 自帶的范例,這樣方便檢驗(yàn)環(huán)境的配置是否正確.


            posted on 2007-04-23 18:34 哈哈 閱讀(4391) 評論(5)  編輯 收藏 引用

            評論:
            # re: 終于成功配置lex和yacc的工具Parser Generator 2007-07-19 12:40 | huh
            在Net2003中編譯生成的C++代碼出如下錯誤:
            vc_test error LNK2019: 無法解析的外部符號 "__declspec(dllimport) public: __thiscall yl::yyflexer::yyflexer(void)" (__imp_??0yyflexer@yl@@QAE@XZ) ,該符號在函數(shù) "public: __thiscall mylexer::mylexer(void)" (??0mylexer@@QAE@XZ) 中被引用
            vc_test error LNK2019: 無法解析的外部符號 "__declspec(dllimport) public: virtual __thiscall yl::yyflexer::~yyflexer(void)" (__imp_??1yyflexer@yl@@UAE@XZ) ,該符號在函數(shù) __unwindfunclet$??0mylexer@@QAE@XZ$0 中被引用
            vc_test fatal error LNK1120: 2 個無法解析的外部命令
            請賜教.  回復(fù)  更多評論
              
            # re: 終于成功配置lex和yacc的工具Parser Generator 2007-07-20 01:13 | pengkuny
            @huh
            Net2003沒用過,
            從錯誤信息來看,

            是配置parser的時候編譯沒通過.

            如果不是,那我也沒轍.
              回復(fù)  更多評論
              
            # re: 終于成功配置lex和yacc的工具Parser Generator 2008-03-14 12:15 | Echo
            按照你的配置,單獨(dú)運(yùn)行“.l”或者“.y”生成的“.c”文件都沒問題,可是要編譯兩種文件都有的項(xiàng)目就不能成功,該怎么辦呢,請賜教  回復(fù)  更多評論
              
            # re: 終于成功配置lex和yacc的工具Parser Generator[未登錄] 2008-11-08 21:55 | 1
            按照你的配置,單獨(dú)運(yùn)行“.l”或者“.y”生成的“.c”文件都沒問題,可是要編譯兩種文件都有的項(xiàng)目就不能成功,該怎么辦呢,請賜教
            shandafu@tom.com
              回復(fù)  更多評論
              
            # re: 終于成功配置lex和yacc的工具Parser Generator 2008-12-15 22:42 | xinshou
            error LNK2001: unresolved external symbol _yytop
            LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
            Debug/Text1.exe : fatal error LNK1120: 2 unresolved externals
            執(zhí)行 link.exe 時出錯.


            單獨(dú)編譯沒問題,
            .C .H一起編譯出現(xiàn)上述錯誤啊....
            請指教 hanfeng_nj@163.com  回復(fù)  更多評論
              
            欧美午夜A∨大片久久| 国产成人久久精品激情 | 国产精品久久久久久久app | 国产精品美女久久久久av爽| 99久久99久久精品国产片| 91久久香蕉国产熟女线看| 亚洲国产精品无码久久久久久曰| 一个色综合久久| 国内精品人妻无码久久久影院 | 久久国产精品久久久| 香蕉久久永久视频| 久久久久亚洲AV无码网站| 蜜桃麻豆www久久国产精品| 久久综合国产乱子伦精品免费| 国内精品久久久久久中文字幕| 精品人妻伦九区久久AAA片69 | 久久国产精品99国产精| 久久这里只有精品首页| 99久久精品免费看国产一区二区三区| 国产成人精品久久免费动漫| 2020国产成人久久精品| 精品久久久久久无码人妻热 | 久久久精品国产免大香伊| 99久久精品免费观看国产| 久久无码人妻一区二区三区| 四虎影视久久久免费观看| 亚洲乱亚洲乱淫久久| 久久亚洲精精品中文字幕| 伊人久久大香线蕉成人| 精品久久久久久国产牛牛app| 国产精品九九九久久九九| 无码超乳爆乳中文字幕久久| 精品久久久久成人码免费动漫| 99久久精品免费看国产一区二区三区| 东京热TOKYO综合久久精品| 亚洲精品乱码久久久久久蜜桃图片| 午夜精品久久久久9999高清| 久久久久国产一级毛片高清板| 久久精品国产精品亚洲| 久久艹国产| 欧美色综合久久久久久|