autotools - 生成的 makefile 不断尝试编译不存在的文件

标签 autotools

最近我开始了一个包含 C 和 C++ 源代码的项目。在我的 configure.ac 文件中,我检查了两种语言,如下所示:

AC_PROG_CC
AC_PROG_CXX

这是我的 Makefile.am
lib_LTLIBRARIES = libfris.la

libfris_la_LDFLAGS = -module -avoid-version -shared
libfris_la_SOURCES = foo.cpp bar.c

当我说 make 时,它​​提示我没有名为 bar.cpp 的文件(我从未提到过)。为什么是这样?我认为这是我自己的愚蠢。对不起这个问题!

我已经看过这个:http://gnu-automake.7480.n7.nabble.com/Mixing-C-and-C-td4676.html .它没有帮助。

最佳答案

你不是想在这里设置每个对象的标志或其他任何棘手的事情,我的 automake 看起来就像你的一样。这可能是非常旧的汽车制造商的错误吗?
automake 1.16.1, autoconf 2.69 和 libtool 2.4.6 我没有收到关于缺少 bar.cpp 的任何投诉:
我的 Makefile.am:

CLOCAL_AMFLAGS = "-Im4"
lib_LTLIBRARIES = libfris.la

libfris_la_LDFLAGS = -module -avoid-version -shared
libfris_la_SOURCES = foo.cpp bar.c
和我的configure.ac
AC_PREREQ([2.69])

AC_INIT([stack-example], [0.1],)
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
AM_SILENT_RULES([yes])

AM_PROG_AR
LT_INIT
AC_CONFIG_MACRO_DIRS([m4])

AC_PROG_CC
AC_PROG_CC_C_O
AC_PROG_CXX

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

关于autotools - 生成的 makefile 不断尝试编译不存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60833426/

相关文章:

c - VPATH 构建中未考虑 EXTRA_DIST

c - GNU、autotools 的 makefile - 构建 C 语言源代码的规则和方法

c - Autotools套件放错了 "man"文件导致安装失败

使用 autoconf 检查 C#define 的值

autotools - 分发自动工具图元文件

unix - 为什么shell脚本比较经常使用x$VAR = xyes?

git - 我应该将 Autotools 生成的哪些文件保存在版本控制存储库中?

unit-testing - 如何使自动工具测试读取文件?

将 automake 配置为目标程序集

c - 如何从autotools确定平台库是静态还是动态?