Flex build error
        Posted  
        
            by incrediman
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by incrediman
        
        
        
        Published on 2010-04-14T05:10:46Z
        Indexed on 
            2010/04/14
            5:13 UTC
        
        
        Read the original article
        Hit count: 383
        
I'm totally new to flex.
I'm getting a build error when using flex. That is, I've generated a .c file using flex, and, when running it, am getting this error:
1>lextest.obj : error LNK2001: unresolved external symbol "int __cdecl isatty(int)" (?isatty@@YAHH@Z)
1>C:\...\lextest.exe : fatal error LNK1120: 1 unresolved externals
here is the lex file I'm using (grabbed from here):
/*** Definition section ***/
%{
/* C code to be copied verbatim */
#include <stdio.h>
%}
/* This tells flex to read only one input file */
%option noyywrap
%%
    /*** Rules section ***/
    /* [0-9]+ matches a string of one or more digits */
[0-9]+  {
            /* yytext is a string containing the matched text. */
            printf("Saw an integer: %s\n", yytext);
        }
.       {   /* Ignore all other characters. */   }
%%
/*** C Code section ***/
int main(void)
{
    /* Call the lexer, then quit. */
    yylex();
    return 0;
}
As well, why do I have to put a 'main' function in the lex syntax code? What I'd like is to be able to call yylex(); from another c file.
© Stack Overflow or respective owner