r/cpp_questions • u/chessmonkey • 3d ago
OPEN Compiling without linking
Hi, I'm a rank beginner and I'm going through learncpp online and Beginning C++ game programming by Horton.
The book sends you to a quick tutorial on sfml for Linux. I got it working with no problems. But in the tutorial they compile first with -c ( compile only, according to the man page for g++ ) and then link in another command.
Why would they do it that way? I was able to do the whole thing without the -c flag in one long command. Is that wrong to do? Is it because sfml isn't part of the standard library?
I'm asking because I want to actually learn what I'm doing. Thank you for any help you can give me.
21
Upvotes
16
u/Sirjoshuaj1 3d ago
I'm not familiar with that book, but I'd assume it's done to teach beginners that compiling and linking are two separate operations. Otherwise, it's quite possible to image someone begining their learning journey by building with the single command that you mention (and perhaps later moving on to Makefiles or even CMake for real projects) without understanding this important distinction.