linux中使用make clean重新编译
是的,在编译完成后,你可以通过以下方式清除之前的编译结果并重新编译:
方法 1:直接删除 build
目录(推荐)
这是最彻底的清理方式,适用于需要完全重新配置或解决构建问题的情况。
# 进入项目根目录(假设当前在 build 目录)
cd ..# 删除 build 目录及其所有内容
rm -rf build# 重新创建 build 目录并编译
mkdir build && cd build
cmake .. [可选参数,例如 -DOPENDNP3_BUILD_EXAMPLES=ON]
make -j$(nproc)
方法 2:使用 make clean
如果仅需重新编译代码(不修改 CMake 配置),可在 build
目录内清理中间文件:
# 进入 build 目录(如果尚未进入)
cd build# 清理已编译的中间文件(保留 CMake 配置)
make clean# 重新编译
make -j$(nproc)
两种方法的区别
方法 | 适用场景 | 是否保留 CMake 配置 | 清理彻底性 |
---|---|---|---|
删除 build | 修改了 CMake 参数或依赖项需要重新配置 | 否 | 完全清理 |
make clean | 仅需重新编译代码(不修改配置) | 是 | 保留 CMake 缓存 |
注意事项
- 安全删除:使用
rm -rf build
前确保目录路径正确,避免误删其他文件。 - 配置保留:若已通过
cmake
配置了复杂参数,使用make clean
可避免重新输入。 - 增量编译:未清理时直接运行
make
会执行增量编译(仅编译修改部分),速度更快。
如果遇到编译错误或配置变更,推荐优先使用 方法 1 确保完全干净的构建环境。