一、介绍
这篇博客主要介绍怎样在vs2019上搭建Flex。因为最近编译原理课程需要搭建,自己动手试了试,也分享给大家。
二、需要的资源
下载地址:https://sourceforge.net/projects/winflexbison/
三、搭建过程
1、下载并解压


2、在vs2019中创建工程
①创建一个空工程即可


②生成依赖项->生成自定义->查找现有的->选择win_flex_bison_custom_build.targets->勾选确认
 
 
③修改可执行文件目录




确认,应用。
④新建一个.l文件(添加->新建项),贴入测试代码


代码如下:
%%
\n printf(" >>> This is a new line.\n");
%%
int yywrap(void)
{
return 1;
}
int main(int argc, char** argv)
{
--argc;
++argv;
if(argc > 0)
yyin = fopen(argv[0],"r");
else
yyin = stdin;
yylex();
system("pause");
}
⑤生成->生成解决方案


⑥添加现有项文件,会自动生成一个cpp文件,同时在该文件夹目录下新建一个test.txt,并且设置调试->工作目录->命令参数->设置为刚才新建的test.txt文件
 

⑦运行,失败了,按照提示改一下!

在预处理定义下添加:_CRT_SECURE_NO_WARNINGS


确定应用,再次

成功了!!!!!感谢食用!!! |