Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
980 views
in Technique[技术] by (71.8m points)

g++ - How can you compile all cpp files in a directory?

I have a number of source files in a number of folders.. Is there a way to just compile all of them in one go without having to name them?

I know that I can say

g++ -o out *.cpp 

But when I try

g++ -o out *.cpp folder/*.cpp

I get an error.

What's the correct way to do this? I know it's possible with makefiles, but can it be done with just straight g++?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

By specifying folder/*.cpp you are telling g++ to compile cpp files in folder. That is correct.

What you may be missing is telling the g++ where to locate additional files that those cpp files #include.

To do this, tell your compiler to also include that directory with -I like this:

g++ -o out -I ./folder *.cpp folder/*.cpp

In some circumstances I have had the compiler forget what was in the root/current directory, so I manually specified it with another -I to the current directory .

g++ -o out -I . -I ./folder *.cpp folder/*.cpp

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...