如何让g++编译时输出正在编译的*.cpp文件?
如何让g++输出正在编译的每个源文件?
g++提供了几个选项可以实现类似MSVC的编译文件输出效果,常用的有以下两种方式:
使用
-v(详细输出)选项
该选项会输出编译全流程的详细信息,包括当前正在编译的源文件名、预处理、编译、汇编等各阶段的操作。将其加入你的编译命令后,修改后的命令如下:/usr/bin/g++ -c -xc++ '-fPIC' '-std=c++23' '-Wall' '-Wextra' '-pedantic-errors' '-fdiagnostics-color=always' '-ggdb' '-D BOOST_ALL_DYN_LINK' '-D SHOW_ERRORS' -v -I${workspaceFolder}/intermediate -I${workspaceFolder}/cpperror/include ${workspaceFolder}/cpperror/source/*.cpp控制台会输出当前编译文件的相关信息(格式随g++版本略有不同),能直观看到每个文件的编译进度,避免误以为程序卡住。
使用
-H选项(显示头文件包含层次)
若你需要同时追踪头文件的包含情况,可添加-H选项。它会以缩进形式展示所有被包含的头文件,同时也会标记当前正在处理的源文件。
如果觉得-v的输出过于繁杂,也可以将编译命令拆分为逐个编译单个源文件(比如配合VSCode任务配置或脚本批量处理),这样每个编译命令对应一个源文件,控制台会清晰显示当前处理的目标文件。
内容的提问来源于stack exchange,提问作者metablaster
相关产品推荐
相关产品推荐

