我的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
答案 0 :(得分:3)
当我升级autoconf版本时,我的autoconf文件出现了类似的问题。我注意到Debian列表上有一个错误报告:Bug #752993似乎与此问题有关。所以,似乎我们遇到了autoconf项目中的一个错误。
我已经跟踪了错误报告中的解决方法,这对我来说效果很好。所以,这意味着我删除了" AUTOMAKE_OPTIONS = subdir-objects"在Makefile.am中。在这之后,我在autoreconf上收到了很多警告,但之后确实有效。所以,你可能想尝试一下。希望它可以帮助你前进(9个月后!)
答案 1 :(得分: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文件很简单,没什么不寻常的。