user1281309
user1281309

Reputation: 11

Creating .o file with make

I'm trying to learn how to write makefiles. I have started reading the manual of gnu make: https://www.gnu.org/software/make/manual/html_node/Simple-Makefile.html#Simple-Makefile

I have 3 files in the same directory:

I am having troubles with the include of Rectangle.h in main.cpp. My makefile is:

main: main.o rectangle.o
    g++ -o main.exe main.o rectangle.o

main.o: main.cpp
    g++ main.cpp
rectangle.o: Rectangle.cpp
    g++ Rectangle.cpp
clean:
    rm main.exe main.o rectangle.o

I know something is missing to create main.o but I can't find out what it is. I tried adding various variations of Rectangle.h/.o/.cpp and finding something on the internet but I was unable to find something.

Help will be much appreciated :)

PS: The code is fine, I can compile it with the command:

g++ -o main.exe main.cpp Rectangle.cpp

Upvotes: 0

Views: 10613

Answers (1)

Ra'Jiska
Ra'Jiska

Reputation: 1049

man g++

When you invoke GCC, it normally does preprocessing, compilation, assembly and linking. The "overall options" allow you to stop this process at an intermediate stage. For example, the -c option says not to run the linker. Then the output consists of object files output by the assembler.

Upvotes: 3

Related Questions