[g++] g++ -v查看编译器详细信息对cpp文件编译路径的详细输出

g++ -v file.cpp

分别解释下这些输出都是在干嘛

一.编译器的基本信息:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' ...
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
  • COLLECT_GCC=g++:这是你所使用的编译器 g++(GNU C++ 编译器)的位置和命令。
  • Target: x86_64-linux-gnu:目标平台是 x86_64 架构的 Linux 操作系统。
  • Configured with:这是编译器的配置参数,展示了在构建编译器时用的配置选项(比如支持的语言、路径、库等)。

二. 编译过程的详细输出

/usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v 
-imultiarch x86_64-linux-gnu -D_GNU_SOURCE grid_map.cpp 
-quiet -dumpbase grid_map.cpp -mtune=generic -march=x86-64 
-auxbase grid_map -version -fasynchronous-unwind-tables 
-fstack-protector-strong -Wformat -Wformat-security 
-fstack-clash-protection -fcf-protection -o /tmp/ccylRcKD.s
  • cc1plus 是实际的 C++ 编译器,它负责将 C++ 源代码 (grid_map.cpp) 编译成汇编代码。
  • -v 选项表示输出详细信息,展示编译器的每个步骤。
  • -D_GNU_SOURCE 是预定义宏,通常用于启用特定的系统功能。
  • grid_map.cpp 是要编译的 C++ 源文件。
  • -o /tmp/ccylRcKD.s 表示编译结果将被输出到 /tmp/ccylRcKD.s 文件(汇编文件)。

3. 版本和库信息:

GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu)
compiled by GNU C version 9.4.0, GMP version 6.2.0, 
MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP

4. 编译警告和错误信息:

grid_map.cpp:1:10: fatal error: grid_map.h: No such file or directory
    1 | #include "grid_map.h"
      |          ^~~~~~~~~~~~
compilation terminated.

5. 搜索路径信息:

#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/9
 /usr/include/x86_64-linux-gnu/c++/9
 /usr/include/c++/9/backward
 /usr/lib/gcc/x86_64-linux-gnu/9/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.

这部分展示了编译器在查找头文件时会搜索的路径。#include "grid_map.h" 语句会让编译器去这些目录中查找 grid_map.h 文件。

总结:

  • 编译器启动时输出了详细的配置信息、版本信息以及使用的库。
  • 编译器尝试编译 grid_map.cpp 文件,但由于 grid_map.h 头文件无法找到,导致编译失败。
  • 你需要检查头文件 grid_map.h 是否存在,或者是否需要调整 include 路径以确保正确找到该文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值