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

使用Automake构建C++程序时遇am__fastdepCXX未定义错误求助

解决Autotools构建C++程序的Automake错误与警告

问题分析与修复步骤

1. 修复"subdir-objects未启用"警告

警告源于Automake的编译兼容性配置,即便源文件在当前目录,部分版本的Automake仍会触发该提示。两种解决方式任选其一:

  • 在configure.ac的AM_INIT_AUTOMAKE宏中添加subdir-objects选项:
    AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
    
  • 或者在Makefile.am中添加配置:
    AUTOMAKE_OPTIONS = subdir-objects
    

2. 修复"C++相关变量未定义"错误

两个错误的核心原因是未在configure.ac中添加C++编译器检测宏,必须添加AC_PROG_CXX让Autotools识别并配置C++编译环境。

修改后的configure.ac示例:

AC_INIT([prueba], [1.0.0])
# 启用subdir-objects并开启编译警告
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
# 检测C编译器(按需保留)
AC_PROG_CC
# 检测C++编译器,必填项
AC_PROG_CXX
# 生成Makefile
AC_OUTPUT([Makefile])

3. 确保Makefile.am配置正确

Makefile.am需明确指定可执行文件及对应C++源文件:

# 定义要生成的可执行文件
bin_PROGRAMS = prueba
# 指定可执行文件的源文件
prueba_SOURCES = prueba.cpp

重新执行构建命令

修改配置文件后,按顺序重新运行命令:

aclocal && autoconf && automake --add-missing

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:25:17