How to make an executable file from a c object file?

If your file is a .o file that contains a main function you just need to link it, for example gcc file.o -o executable


You need to link the object file. Your command:

gcc -c -o file.cgi file.c

compiles file.c into an object file (which would typically be called file.o). If you get rid of the '-c', it will generate the executable directly:

gcc -o file.cgi file.c

Alternatively (more useful if you have multiple files and don't want to compile all files when only one has changed), do it in two steps:

# Compile only
gcc -c -o file.o file.c
gcc -c -o file2.o file2.c
# Link
gcc -o file.cgi file.o file2.o

Tags:

C

Object Files