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

本文档详细介绍了如何在Windows环境下,使用QT项目集成Bison/Flex工具,实现语法文件的自动扫描和编译。通过设置QMake的LEXSOURCES, YACCSOURCES, QMAKE_LEX, QMAKE_YACC等变量,解决了编译过程中遇到的命令找不到、文件名不匹配等问题,使得在QtCreator中能够一站式完成编译和调试。" 109447235,4908057,Python遍历文件夹及筛选特定文件,"['Python', '文件操作', 'os模块', '文件遍历']
摘要由CSDN通过智能技术生成

  近期在做一个语法文件的扫描,校验的程序, 当然不能不用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、付费专栏及课程。

余额充值