检查项目上的框架集成无法构建

时间:2015-04-18 13:41:01

标签: autoconf check-framework

我正在为我的项目集成C检查框架,我能够运行

autoreconf --install

成功没有任何错误。

但是当我整合C检查框架时,我收到的错误和警告没有任何意义。

以下是我遇到的错误

src/Makefile.am:7: warning: variable 'main_LDADD' is defined but no program or 
src/Makefile.am:7: library has 'main' as canonical name (possible typo)
tests/Makefile.am:2: error: 'SHELLTESTS_PROGRAMS' is used but 'SHELLTESTSdir' is undefined
tests/Makefile.am:3: warning:variable 'ShellTests_SOURCES' is defined but no program or
tests/Makefile.am:3: library has 'ShellTests' as canonical name (possible typo)  
tests/Makefile.am:5: warning: variable ShellTests_LDADD' is defined but no program or 
tests/Makefile.am:5:library has 'ShellTests' as canonical name (possible typo) 
                   autoreconf:automake failed with exit status: 1

我已经关注了C检查示例源代码,它和我的项目之间的区别在于我的班级使用其他类'方法。

无论如何,这是我测试中的Makefile.am导致' havoc'建立项目

TESTS = shelltests
SHELLTESTS_PROGRAMS = shelltests

ShellTests_SOURCES = ShellTests.c $(top_builddir)/src/Shell.h $(top_builddir)/src/Parser.h $(top_builddir)/src/JobControl.h
ShellTests_CFLAGS = @CHECK_CFLAGS@
ShellTests_LDADD = $(top_builddir)/src/libshell.la @CHECK_LIBS@

这是我项目的文件结构
src -    Parser.h,Parser.c,Shell.h,Shell.c,Job.h,Job.c,Makefile.am
测试 -    ShellTests.c Makefile.am

这是src下Makefile.am中的代码。

lib_LTLIBRARIES = libshell.la 
libshell_la_SOURCES = Shell.c Shell.h Parser.h Parser.c JobControl.h JobControl.c
bin_programs = main 
main_sources = Main.c  
main_LDADD = libshell.la

我按照此用户的建议查看是否删除了错误:What directory should I use for "error: 'extra_PROGRAMS' is used but 'extradir' is undefined"? 唉,事实并非如此。

我已经尝试构建示例项目 - 您在下载示例时获得的项目,看看我是否遗漏了任何内容。但它无法在我的机器上构建。

我在Mac OS X Mavericks上(10.9)

  • Autoconf 2.69
  • Automake 1.15
  • Libtool 2.4.6
  • 检查0.9.14

1 个答案:

答案 0 :(得分:1)

我做了几件事来成功构建这个项目。我首先按照我在此处概述的内容:Check framework example giving me error when running './configure'

然后我跟着c检查框架的测试源文件的命名约定。

感谢帮助人员,它给了我一些关于编译错误原因的想法。