我正在为我的项目集成 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/ 正在对构建项目造成“破坏”
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
我按照该用户的建议查看它是否消除了错误:我应该使用哪个目录来处理“错误:使用了'extra_PROGRAMS'但'extradir'未定义”? 唉,事实并非如此。
我已经尝试构建示例项目 - 您在示例下下载时获得的项目,看看我是否遗漏了任何东西。但它无法在我的机器上构建。
我在 Mac OS X Mavericks (10.9)
- 自动配置 2.69
- 汽车制造 1.15
- 库工具 2.4.6
- 检查 0.9.14