如何在QT项目中集成Bison/Flex(Yacc/Lex)自动编译生成功能

  近期在做一个语法文件的扫描,校验的程序, 当然不能不用YACC/LEX这组工具. 但是每次修改语法和词法定文件后都要先在命令行上重新生成对应的源文件, 然后在QtCreator中将这些源文件编译成可执行程序来调试. 这样来回切换工作觉得非常麻烦, 且效率低下。于是希望找到一个集成的办法可一次完成所有的编译连接工作, 几经周折查询, 终于达到目标, 以下将整个过程记录在此, 希望对其他人有些帮助。

  因为是Windows下应用,YACC/LEX工具是用的GNU的Bison/Flex, 下载的是Windows下的二进制安装程序, 下载地址分别是Bison for WindowsFlex for Windows .

  1. 在QT项目文件的帮助就是QMake的文档中看到, 在QMake的变量中, 有LEXSOURCES, YACCSOURCES这两个变量, 那就是说可以在qt的项目文件中直接加入lex和yacc的源文件, 而qt应会编译自动生成所需要的源文件. 在pro文件中加入以下两行:

LEXSOURCES = grammar.l
YACCSOURCES = grammar.y

  2.点击B

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值