Without seeing the other files, and with no idea how you build the executable, pure guesswork...
You need to compile each of the sources, and link all the objects together:
gcc -g -O2 -Wall -c Converter.c
gcc -g -O2 -Wall -c Stack.c
gcc -g -O2 -Wall -c Queue.c
gcc -g -o pgm Converter.o Stack.o Queue.o
The -c
(compile only) flags in the first three lines are crucial, you don't want the compiler to try to create an executable in one go. And no, the compiler has no idea what other pieces you want to include in the executable gotten from Converter.c
. Here on [SO] we are pretty good at guessing, but guessing is for humans, not compilers.