Я интегрирующую проверки рамки 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 = @[email protected]
ShellTests_LDADD = $(top_builddir)/src/libshell.la @[email protected]
Это файловая структура для моего проекта
ЦСИ - parser.h, parser.c, Shell.h, Shell.c, Job.h, Job.c, Makefile.am
тесты - ShellTests.c Makefile.am
И это код в 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
update: Я попробовал запустить пример каталога, чтобы узнать, успешно ли работает проект на моем компьютере (что-то я должен был сделать, я просто предположил, что он будет работать на любой машине). И после добавления материала, который говорит мне журнал создания примеров. Я получаю сообщение об ошибке при запуске ./configure в моем собственном проекте - это без интеграции проверки: configure: error: не удается найти install-sh, install.sh или shtool в "." "./ .." "./../ .." Я отправляю билет в c-check group. – macmania314
Прошло некоторое время, но я, похоже, помню, что случай письма отличается в файле Automake. Например, вы ввели 'bin_programs', когда это должно быть' bin_PROGRAMS'.Кроме того, поскольку вы создаете несколько тестов, скорее всего, вы захотите использовать 'check_PROGRAMS + = shelltests' вместо' check_PROGRAMS = shelltests', где 'check' является целевым именем (например,' make check'). Я не уверен в том, что происходит с установкой. Я предполагаю, что ошибка об установке-sh и др. является ошибочным и является результатом неправильной конфигурации. Я столкнулся с странными ошибками с системой сборки Autotools. –
@ ChronoKitsune, я попробую ваше предложение. К сожалению, я получаю ошибку сборки об установке на вашем примере, вот дополнительная информация: [Проверьте пример фреймворка, дающий мне ошибку при запуске. ./configure'](http://stackoverflow.com/questions/29738795/check -framework-пример, дающая-мне-ошибки, когда-обкатка конфигурирование) – macmania314