首页 > 解决方案 > 如何在 makefile 中使用 g++ 编译位于不同目录中的源文件和头文件?

问题描述

我的 c++ 项目具有以下结构:

packetSenderSim
|
|makefile
|
|<src>
|__ main.cpp
|__ testbench.cpp
|__ udp.cpp
|
|<headers>
|__ testbench.h
|__ udp.h
|__ toolbox.h
|
|<old>
|__ bitErrorModels.h
|__ efectivityTests.h

之前,我把所有的“headers”和“src”文件放在同一个目录下,用“g++ *.cpp -o exec”编译。经过一番研究,我开始改用“g++ -c *.cpp”“g++ *.o”,但它使我的目录被 .o 文件严重污染,所以我决定以这种方式构建项目。我需要做的是只编译“src”和“headers”,“old”文件必须被忽略(因为它有不再使用的旧代码duh)。我是makefile的初学者,第一次写,所以如果可能请解释解决方案。谢谢 :)

标签: makefilecompilationg++

解决方案


推荐阅读