用的VC 2005, 和原来VC 6的设置项对应不上, 很多半天都找不到.好不容易找全了, 却还是编译出错.
最后,只好选择再装一个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环境下parser generator和vc++的各项配置
(一)parser generator的环境设置
安装好parser generator,打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出LibBuilder对话框选择属性按钮,弹出compiler properties 对话框:
Name 选择Visual C++ (32-bit)
Directory :msvc32
options:
依次为 vc++版本(Versoin 6)
是否支持unicode码。(选择默认)
是否把w_char_t作为内建类型。(选择默认)
下边是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
注意:编译器安装目录根据个人安装目录需要做相应的调整。所有的这些设置完成之后点ok。
最后一步,配置parser generator的properties,如图即可:
返回LibBuilder。点Build就可以编译vc++使用的lex与yacc的lib库。
注:我参考Vs 2003.net的设置,在VC 2005下进行相应设置, 结果lex与yacc的lib库没能编译通过, 可能是我设置错误, 不应该是尚不兼容的问题吧.
生成库文件在软件安装目录下的D:\Parser Generator 2\Cpp\Lib\msvc32目录下。
(二)vc++环境的设置
1.目录设置
为了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex的库文件,需要对VC++进行相关的目录设置
(1) 选择Tools菜单中的Options命令,打开Options对话框。
(2) 选择Directories选项卡。
(3) 在Show Directories for下拉列表框中选择Include Files。
在Directories框中,点击最后的空目录,并填入 F:\PARGEN\CPP\INCLUDE(根据个人安装目录需要做相应的调整)
(4) 在Show Directories for下拉列表框中选择Library Files。
在Directories框中,点击最后的空目录,并填入F:\PARGEN\CPP\LIB\MSVC32
(5) 在Show Directories for下拉列表框中选择Source Files。
在Directories框中,点击最后的空目录,并填入F:\PARGEN\CPP\SOURCE
(6) 点击OK按钮,Options对话框将接受设置并关闭。
2.项目设置
对于每个VC++项目,都需在VC++中进行以下设置,以使VC++可以从特定的库中接受LEX和YACC所需要的函数和变量
(1) 选择Project菜单中的Settings命令,打开Project Settings对话框。
(2) 在Settings for下拉列表框中选择Win32 Debug。
(3) 选择C/C++选项卡, 在Category下拉列表框中选择General。
在Preprocessor Definitions框中,在当前文本的最后,输入
,YYDEBUG
注:对应到VC 2005为C/C++->Preprocessor->Preprocessor Definitions.
(4) 选择Link选项卡,在Category下拉列表框中选择General。
在Object/Library Modules框中,在当前文本的后面,输入yld.lib
注:VC 6中的Object/Library Modules对应到VC 2005为Propert->Configuration Properties->Linker->Input->Additional Dependencies ,找了好久.
(5) 在Settings for下拉列表框中选择Win32 Release。
(6) 重复第4步的工作。
(7) 点击OK按钮,Project Settings对话框设置完毕。
这样设置之后我们就可以用vc++编译Parser Generator 生成的c文件了。具体为:
先打开Parser Generator 集成开发环境。点击Project菜单,点击下拉菜单中的ParseWizard菜单,一路下去建立一个工程。然后点击project菜单下的的Rebuild All。在项目文件夹下就生成了相应c文件与h文件。
再用VC++建立一个空控制台工程,然后把用用Parser Generator
生成的c文件和头文件加入工程中。接着对VC++进行上面所说的项目设置,然后就可以编译运行了。新手可以使用parser generator 自带的范例,这样方便检验环境的配置是否正确.
posted on 2007-04-23 18:34
哈哈 阅读(4343)
评论(5) 编辑 收藏 引用