2016-10-11 2 views
2

Я работаю в классе с курса машинного обучения. Нам дается hmm.tar файл, который содержит C++ реализацию скрытых марковских моделей.make: *** Нет правила делать цель «все». Стоп

В файле read me было дано следующее.

Чтобы скомпилировать и протестировать программу,

1) извлечь код:

tar -xf hmm.tar 

2) скомпилировать программы:

make all 

на втором этапе выход с терминала make: *** No rule to make target 'all'. Stop

Я использую ОС Windows 10 и запускаю терминал cygwin.

Пожалуйста, помогите мне разобраться с этой проблемой. Вот Makefile

+0

Что было содержимое tarfile. Он содержит make-файл и содержит ли этот make-файл цель? –

+0

@RobertKock У этого есть Makefile. Я отредактировал вопрос, чтобы добавить содержимое Makefile – papabiceps

+0

Является ли Makefile так долго? Прокси запрещает здесь использовать паста (и через несколько месяцев связь может быть нарушена). – Xenos

ответ

1

I» Предполагая, что файл tar имеет файлы внутри подкаталога. Вы, наверное, просто нужно, чтобы убедиться, что вы находитесь в каталоге, который имеет Makefile, а затем запустить сделать:

tar -xf hmm.tar 
cd __somewhere_ 
make all 

, чтобы помочь вам узнать, где Makefile, вы можете использовать:

tar tf hmm.tar | grep -i makefile 
+0

Спасибо за ответ, но вывод из терминала 'Криш @ НАСТОЛЬНЫЙ-5KVRRBS/cygdrive/с $ деготь -xf гм-1.04.tar.gz Криш @ DESKTOP-5KVRRBS/cygdrive/c $ cd hmm-1.04 krish @ DESKTOP-5KVRRBS/cygdrive/c/hmm-1.04 $ сделать все сделать: ничего не сделать для 'все'. ' – papabiceps

+0

Это похоже на другую ошибку раньше. Вы могли бы сначала попробовать «сделать чистым», затем «сделать все». Другие вещи, которые нужно знать. Я почти всегда извлекаю tar, используя -v, так что вы видите, какие файлы извлекаются «tar xvf hmm.tar». И вы можете указать несколько правил make вместе «make clean all». – boyvinall

+0

Я попытался использовать «make clean» перед тем, как использовать make all. Удивительно, но это сработало. Можете ли вы сказать мне, почему это сработало? – papabiceps

0

С Cygwin возвращает make: *** No rule to make target 'all'. Stop, кажется, что make правильно установлен. Как таковой, он должен быть две вещи:

  • Либо файл сделайте внутри the.tar отсутствует или
  • есть синтаксические ошибки, присутствующие в файле макияжем
+0

Файл make присутствует внутри файла .tar. Это оставляет нас с синтаксическими ошибками в файле макияж – papabiceps

Смежные вопросы