小编Hab*_*bie的帖子

automake 1.12 更改了 bison/yacc 输出名称,向后不兼容的更改?

我在https://github.com/Habbie/autoyacc-problem上发布了一个存储库来演示我的问题。

在 automake 1.11 及以下版本中,AC_PROG_YACC在 configure.ac 和AM_YFLAGS=-dMakefile.am 中使用,parser.yy 将变成 parser.cc 和 parser.h。使用 automake 1.12,我得到 parser.cc 和 parser.hh。因为 mybin.cc 有include "parser.h",这意味着 1.12 破坏了我的构建。

我感觉这是一个向后不兼容的更改,但我觉得应该有一种理智的方法来处理这个问题。

展示:

git clone https://github.com/Habbie/autoyacc-problem.git
cd autoyacc-problem/
autoreconf -i
./configure
make
Run Code Online (Sandbox Code Playgroud)

automake 1.11 的结果:mybin 被构建。automake 1.12 的结果:

mybin.cc:1:20: error: parser.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

帮助!

注意:本示例中没有实际的 C++ 代码,但对于我的实际问题,我确实需要 g++。

c++ automake autoconf yacc

5
推荐指数
1
解决办法
1320
查看次数

标签 统计

autoconf ×1

automake ×1

c++ ×1

yacc ×1