05的Visual C中配

上传人:人*** 文档编号:457794982 上传时间:2022-10-23 格式:DOC 页数:5 大小:34KB
返回 下载 相关 举报
05的Visual C中配_第1页
第1页 / 共5页
05的Visual C中配_第2页
第2页 / 共5页
05的Visual C中配_第3页
第3页 / 共5页
05的Visual C中配_第4页
第4页 / 共5页
05的Visual C中配_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《05的Visual C中配》由会员分享,可在线阅读,更多相关《05的Visual C中配(5页珍藏版)》请在金锄头文库上搜索。

1、在Vsual Studi 2005的Vial C+中配置Paser Generat作者:YENI(en)版本:1。1 (2007-1-)前言Visaltui 205作为Vsua tudo系列中最新的产品,为程序员提供了更加标准的C+环境及多种程序设计新技术。ase Genetr作为当前最好用的Winows环境LX/YAC工具而被广泛应用。可惜的是,rsr Generao的最新版本也仅能支持至VisualStudi 2003。因此,将Parse Geneator配置为可与VisualSudio 25协同工作,非常有必要。我经过了近3天的努力,终于基本实现了VS05与PaserGenetr的配置工

2、作。本文便介绍了这一配置过程。快速向导如果您不希望详细了解配置的细节,而要在Vsual Studio 25中使用ParserGenerat,请按以下步骤。此向导包含从安装到可编译代码的全过程,可替代一般向导。l 配置环境1. 下载并安装Parser enraor 20。2. 下载经过编译的arse Geneator修改文件,解压缩至“Pase Geerato 2Cp”.3. 启动isualSudi 2005,菜单中选择“ools、“Optons”.4. 在左侧列表中选择“Projts n Solutins、“VC Diectories”。5. 在右上的下拉框中选择“clude fi”,按下面的

3、“New Lie (Crl-Iser)按钮,输入“C:Pae Gnerao pInclu”(或你的安装路径)。6. 在右上的下拉框中选择“ibrry fles”,按下面的“e ie(CtrlInsert)”按钮,输入“C:arer eertor 2CppLimsvc2”(或你的安装路径).7. 在右上的下拉框中选择“Sorc fis”,按下面的“ew Lin (Crl-Inset)”按钮,输入“C:Parser Genertor CpSre(或你的安装路径)。8. 单击“OK,保存设置。l 配置项目1. 在ial Stuio 205菜单中选择“Fie”、“New”、“Pojc”。2. 左侧选择

4、“Visual C+”,右侧选择“Wn32Consoe Apliction”,在下面输入项目名称(如“mcmpiler),按“O”。3. 左侧选择“pplicatn Sengs”,右侧清除“Precompiled eader选项。(注:若不去掉,则应在LE/YACC生成的CPP文件前加“inu “stdafx.h”一行文字。)4. 单击“Finish”创建该项目。5. 菜单中选择“Proect”、“pjct name Poprtie”打开项目属性页.6. 在顶端的“nfiguraton中选择“ctive(Debug)”或“bu”。7. 左侧选择“Coniguraton Propertes“C/

5、C+”“Preprocsor”,右侧“Pepceor Defiiions一项后面添加“;YYEBUG”。8. 左侧选择“ofigution Propertes“C+”“CodGeeration”,右侧“RuntieLbrary一项改为“ltireadedebug (MTd)”。9. 左侧选择“Confation Prerties”“Liner”“Inpt,右侧“AditionalDpendencie”一项改为“ylm.ib”。10. 点击“应用(A)保存当前页设置.11. 在顶端的“Cfigraon”中选择“tive(Release)或“Relese”.12. 左侧选择“Confiraon p

6、eries”“C/C+”“CdeGerion,右侧“ume Libry”一项改为“Multhreaded(/MT).13. 左侧选择“ofgratio Properies”“Liner”“Int,右侧“ddtnal Dpndncs”一项改为“yl.i。14. 点击“确定”保存当前页设置。l 编译项目1. 在aer Generator中利用菜单“Projec”中的“Prser Wzad”创建一个项目,并按“Rebuild Al按钮将他们编译为.hcp文件.2. 在Visual Stuio 205的“oltion Eplor中选中您的项目名,点击右键,选择“Ad”、“Eisting Ie,将Prs

7、erGerator生成的/。cpp文件导入项目。3. 在Visul tudio 20的“Soluion xlorer”中选中“rojecnam.p”,点击右键,选择“Remo,将该文件去除。4. 从工具栏的“Cnfgurtion”中选择“Relee”。5. 菜单中选择“Bld”、“Bild Soli,编译项目。软件环境我进行配置的软件环境如下:l Wnows XP SP2l Micsot VisalStuio005 Pfesional (Veron 8。0。027.42)l Pas Gnerator 2。问题原因经过多次实验,由Parser enerator生成的./cpp文件确实无法直接在V

8、iaStu 25中编译。编译器返回的错误主要为LIK错误,包括符号不存在、运行时间库冲突等问题。我们知道,VS2005的C+编译器与运行库较前版本有重大改动(例如去除了单线程版本库、对DL版本库做了修改)由这些错误可判断,问题大致在PrseGenertor提供的库文件中。我们需要利用Prse Gnerator中的LibBulder重新编译这些库文件.对源代码进行必要的修改PaserGeaor库的源文件全部位于“arr Generator 2CppSource”文件夹中,其中共有300多个。或.cpp文件。其中一部分需要经过修改才可以通过VS0的编译。l 关于全局变量初始化。由于C编译器只允许用

9、常量初始化全局变量,但PG库中多处用其他全局对象(如tdout)来初始化变量,因此我们需要把这些文件改名。具体方法是将“*vrc”重命名为“ar。cp。l 关于“swrint”及其它已被废除函数的使用。在此版本的C+编译器中,一些不符合IO +标准的函数已被废除或修正,其中包括“sprinf、“swprnf”等。特别是“swprintf”函数,其行为也发生了变化。为保证其仍可按照原来的方式工作,我们应该通过设置标识来告诉编译器。具体方法是在“。Ideyygobh”中添加“dfin _CRTON_OORMIN_SWPTFS一行。修改编译脚本ParsrGeeratr的ibBuilder通过运行一个

10、编译脚本来完成库编译。该编译脚本位于“Parse Genro 2ppcrpmsvc32。lb”。由于新C+编译器及链接器参数的变化,我们需要对该脚本做以下修改。l 通过“查找功能”将第一个“/GZ”参数改为“/Ec(这将用于编译器)。l 将第二个“/GZ”参数改为“RTC”(这将用于链接器)。编译库完成了上述准备工作,我们就可以开始编译Parser enrator库了.1. 在arser Geeror中从菜单选择“rec”、“Lbulr”.2. 只勾选“Visual C+ (3it)”一项,并选中该项,按“Prpetie按钮打开属性框.3. 由于没有直接提供 。0的选项,我们进行如下配置:a)

11、 Cpier eson: Versoin 7(.N)b) Uc: Truec) Teat w_char_t a ild-i Type: rued) Compir in ector: C:PRORAMFILICROSOF VIS STDI8CNe) ComileBi Drecty(2): C:PROGRAM FLESMCROST ISUALSUDIO 8COMMON7IDEf) Cmiler nlude Direcory: C:PROGRAMFILESMICOSOFTISUAL STUO 8VCICLUDEg) Copile Iude Dircto(2):C:RGAM FLESMICROSFT

12、IS TDO 8VCPLAORMSDINLDEh) Cmplr LibrryDcory:PRM LSIROSFTVISUASTDIOVCLIBi) Copiler Librar Diretor(2): :POGRAM FILESMIOSFT VSUAL8VCPLAFORMS4. 按“OK”保存属性.5. 按“il”开始编译所有库文件。整个编译过程会接到数个rnn,主要是提示部分函数已过时.编译过程大约会持续1分钟。6. 若编译成功,既可按照本文前面“快速向导”一节内容设置并使用VS20和aer nerator共同开发了.已知问题以上的解决方案还不甚完善,已知的问题和需要完善的地方如下:l 在编

13、译库的过程中仍会接到数个关于函数过时的anig.因此有必要修改库的源代码,使其符合新版的相应规则。l 编译脚本文件“svc3.bs本身已经提供了可扩展性,我们可以很容易地将新版本的配置添加到该.l文件中,而不应该直接修改。文件内容。以上问题将在此解决方案的新版本中得到解决。参考文献l Paser enraor和C+的配置北京大学“编译实习”课程网站 / 00.9。12l windows下的lex与acc工具萧萧地带 -th21/arives/2001196shtl 205。.1版本历史1.1 (20-12)解决了第一稿存在的有关DBUG配置中“iotream”问题,特别感谢 ()指出解决方案;修正了一些文字错误与链接错误.1。 (2006-10-14)第一稿。在线资源补丁文件:获得本文档的更新版本:文中不足之处,请您见谅! /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号