You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian系统编译binutils-2.43失败问题求助

编译binutils-2.43版本失败,gprofng组件出现C++语法编译错误

问题背景

在Debian Linux系统中按照binutils移植指南3.1节的步骤编译binutils-2.43版本时失败,尝试设置CC=g++和CC=clang均无法解决。编译2.34版本时无需额外选项即可成功,该问题仅出现在2.43版本。

最小复现步骤

  1. 下载binutils-2.43源码
  2. 解压源码包
  3. 进入binutils-2.43目录
  4. 创建并进入build目录
  5. 执行../configure
  6. 执行make

执行的编译命令

/bin/bash ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../gprofng/libcollector  -U_ASM -I.. -I../../../gprofng/libcollector -I../../../gprofng/libcollector/../common -I../../../gprofng/libcollector/../src -I../../../gprofng/libcollector/../../include  -I../../bfd -I../../../gprofng/libcollector/../..  -Wall -Wno-nonnull-compare -g -O2     -MT libgp_collector_la-mmaptrace.lo -MD -MP -MF .deps/libgp_collector_la-mmaptrace.Tpo -c -o libgp_collector_la-mmaptrace.lo `test -f 'mmaptrace.c' || echo '../../../gprofng/libcollector/'`mmaptrace.c

报错信息

In file included from ../../../gprofng/libcollector/../src/elf.h:30,
                 from ../../../gprofng/libcollector/mmaptrace.c:32:
../../../gprofng/libcollector/../src/Data_window.h:33:1: error: unknown type name ‘class’
   33 | class Data_window
      | ^~~~~
../../../gprofng/libcollector/../src/Data_window.h:34:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
   34 | {
      | ^
In file included from ../../../gprofng/libcollector/../src/Emsg.h:25,
                 from ../../../gprofng/libcollector/../src/elf.h:31:
../../../gprofng/libcollector/../src/vec.h:40:8: error: expected identifier or ‘(’ before string constant
   40 | extern "C"
      |        ^~~
../../../gprofng/libcollector/../src/vec.h:75:10: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
   75 | template <class ITEM> void

内容的提问来源于stack exchange,提问作者promaxultra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 05:22:47