makefile - 如何在 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的初学者,第一次写,所以如果可能请解释解决方案。谢谢 :)
解决方案
推荐阅读
- python - 多维数组/准图像的连通分量标记
- javafx - Javafx 中的透明度与混合效果
- assembly - 在长模式下使用 IRET 进入 CPL=3
- selenium - 迭代并打开新的浏览器页面会导致 StaleElementReferenceException
- php - Laravel:没有为包加载自定义语言文件
- css - 网格显示css有问题
- javascript - mongoose.model 的实例不是 mongoose.Model 的实例?
- python - luma : 取决于: python-qt3 (>= 3.11) 但它不可安装
- javascript - JS 对象数组做奇怪的事情
- javascript - 删除 Bot 消息时出现 Discord.js 错误消息