我正在为我的项目集成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)
答案 0 :(得分:1)
我做了几件事来成功构建这个项目。我首先按照我在此处概述的内容:Check framework example giving me error when running './configure'
然后我跟着c检查框架的测试源文件的命名约定。
感谢帮助人员,它给了我一些关于编译错误原因的想法。