I am trying to compile with 2 .c files and a .h file
I have something like this
recognizer.c
Code:
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "recheader.h"
#define ENDOFINPUT "ENDOFINPUT"
Lexeme* lex();
int main(int argc, char *argv[])
{
int recognizer(char*);
recognizer(argv[1]);
}
int recognizer(char* filename)
{
Lexeme* lexeme;
lexInit(filename);
lexeme = lex();
while(strcmp(lexeme->type, ENDOFINPUT) != 0)
{
lexemeDisplay(lexeme);
lexeme = lex();
}
return 0;
}
recheader.h
Code:
#ifndef RECHEADER_H
#define RECHEADER_H
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
typedef struct lexword
{
char type[15];
char value[100];
int value_length;
struct lexword *next;
}Lexeme;
typedef struct
{
struct lexword *Head;
}Header;
void lexInit(char* filename);
int lexemeDisplay();
function.c
Code:
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "recheader.h"
int lexemeDisplay();
Lexeme* lex();
void lexInit(char* filename)
{
:
:
}
Lexeme* lex()
{
:
:
:
}
int lexemeDisplay()
{
:
}
The problem is when I compile, I get this message
[Linker error] undefined reference to `lexInit'
[Linker error] undefined reference to `lex'
[Linker error] undefined reference to `lexemeDisplay'
[Linker error] undefined reference to `lex'
I realize this is probably trivial to most, but I have read a few tutorials and am still confused.
Any help would be appreciated.