编译课上面,老师要求用flex把 .l 文件生成 .c 文件,然后和库文件libfl.lib放到同一个vc6工程里面生成一个exe文件
可是现在我用的win8系统,对vc6不支持。。
所以看了一下在vs2012下生成exe的方法
首先,把生成的.c文件放到工程里面
源文件 添加 现有项 找到 libfl.lib 加进去
在c代码开头加上
#pragma comment(lib, "libfl.lib")
#pragma comment(linker, "/NODEFAULTLIB:LIBC.lib")
另一种方法:
修改项目属性:属性->链接器->输入下:附加依赖项加入libfl.lib的路径;忽略特定库加入:LIBC.lib。
然后,在c代码里面ctrl + F找一下fileno,改成_fileno,注意加了个下划线
ctrl + F5可以跑了。。
另外
附上整个编译过程
(一) 目录介绍
在本实验目录中,包括两个子目录。
1、子目录 flex
它包含了 flex.exe, flex.hlp, libfl.lib 三个文件,另外还有一个例子文件 example.l 及该例子生成的 lex.yy.c。
2、子目录 lex_yy
这个目录是为 lex.yy.c 建立的一个项目(使用 VC6)。它包含有 lex.yy.c, libfl.lib (拷贝自目录 flex)&#x