This tutorial is for users who are already familiar with Visual Studio VC++ and flex.
-
Create a new workspace and add your lex file (ie lexer.l)
-
Save the following files in the same directory as your workspace: , ,
-
Go to Project/Settings/ and select your project in the explorer window at the left.
-
Select the Link tab. In the "Object/library modules" section, append libfl.lib and libfl.a to the end of the list.
-
If your lex file reads input from the command line, (such as a filename like inputfile.txt), then select the Debug tab and add the command line parameters to the "Program Arguments" field.
-
Return to the left hand explorer window and expand your project. Select your lex file (ie lexer.l)
-
Under the "General" tab, select Always use custom build step.
-
Under the "Custom Build" tab, place flex followed by the name of your lexer file into the "Commands" box (ie flex lexer.l)
Then place this text into the "Outputs" box: lex.yy.c
-
Build your project once (Control-F5). You should get the message "Cannot execute program".
-
The previous step should create a file called lex.yy.c in your workspace directory. Add this file to your project.
-
I suggest you add the input file (if your lex program requires one) to your project as well so that you can easily edit it, but this is not required.
-
If you get an error that looks something like:
lex.yy.obj : error LNK2001: unresolved external symbol _yywrap
Debug/compiler.exe : fatal error LNK1120: 1 unresolved externals
This means you are not linking in the library files correctly. Check step 2, 3, and 4 again.
-
The next time you build (Control-F5), your project should run. If it doesn't, and I'll see if I can help.
阅读(1564) | 评论(0) | 转发(0) |