4

我的 configure.ac 看起来像

AC_PREREQ(2.61)
AC_INIT(MyProject, 1.0.0, BUG-REPORT-ADDRESS)
AM_INIT_AUTOMAKE([1.10 no-define foreign])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR(configure.ac)
AC_CONFIG_HEADER([config.h])
AC_CONFIG_FILES([obj/threading/Makefile])
#AC_OUTPUT([Makefile obj/Makefile obj/threading/Makefile])

AC_USE_SYSTEM_EXTENSIONS
AC_LANG([C++])
AC_PROG_CXX([clang++ g++])

AX_CXX_COMPILE_STDCXX_11()
AS_IF([test "x$HAVE_CXX11" != "x1"],
      [AC_MSG_ERROR([** A compiler with C++11 language features is required.])])

CXXFLAGS='-Wall -std=c++11'
AC_SUBST(CXXFLAGS)

AC_OUTPUT

我的 Makefile.am 看起来像

AUTOMAKE_OPTIONS = subdir-objects

SRCDIR = $(top_srcdir)/src/threading

bin_PROGRAMS = node                 

node_SOURCES  = $(SRCDIR)/UnitTests/node.cpp
node_CPPFLAGS = 
node_LDFLAGS  = 
node_CXXFLAGS = $( CXXFLAGS ) 

我收到以下错误

Makefile:394: ../../src/threading/UnitTests/.deps/node-node.Po: No such file or directory
4

2 回答 2

3

当我升级我的 autoconf 版本时,我的 autoconf 文件也遇到了类似的问题。我注意到 Debian 列表上有一个错误报告:错误#752993似乎与此问题有关。所以,我们似乎在 autoconf 项目中遇到了一个错误。

我遵循了错误报告中的解决方法,这对我来说效果很好。因此,这意味着我删除了 Makefile.am 中的“AUTOMAKE_OPTIONS = subdir-objects”。这样做之后,我在 autoreconf 上收到了很多警告,但之后它确实有效。因此,您可能想尝试一下。希望它可以帮助您前进(9个月后!)

于 2014-07-11T07:54:07.607 回答
1

我遇到了同样的问题,通过在项目根目录中调用 autoreconf -if 解决了

Makefile:577: .deps/testAll-bar_test.Po: No such file or directory
Makefile:579: .deps/testAll-main_testall.Po: No such file or directory
make[3]: *** No rule to make target '.deps/testAll-main_testall.Po'.  Stop.

autoreconf -if
./configure
make # no more problem

我正在为我的 C++ 项目使用 gtest。Makefile.am 文件很简单,没有什么不寻常的。

于 2017-12-06T06:21:32.837 回答