Makefile: 1059: *** отсутствует разделитель. Стоп - PullRequest
0 голосов
/ 31 августа 2018

У меня есть проект, написанный для DEC Unix v4. Я хочу скомпилировать его для Linux. В моем проекте есть Imakefile, я запускаю xmkmf для генерации Makefile и после этого запускаю make для компиляции, но я получаю Makefile:1059: *** missing separator. Stop.

Когда я вижу это сообщение Я установил SparkyLinux и установил на него CDE и libmotif-dev для Motif и CDE, и я снова сгенерирую Makefile и запусту make, но моя проблема по-прежнему

строка 1059: MComplexProgramTarget(_gdsv_.o,$(LOCAL_LIBRARIES),)

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Самое вероятное, что у вас возникла проблема несовместимости с gmake, которая должна быть используемой вами версией make. Установите BSD make и используйте его для сборки системы. Возможно, это решит вашу проблему (или нет, но у меня были такие проблемы). В зависимости от платформы пакет называется bmake или pmake.

.
0 голосов
/ 31 августа 2018

Эта строка действительна в Imakefile, но не в Makefile. Это похоже на макрос для препроцессора Си. Когда препроцессор не находит определения для макроса, он оставляет его как есть.

Поэтому возникает следующий вопрос: почему макрос MComplexProgramTarget не определен и какой файл обычно его определяет?

Чтобы ответить на этот вопрос, вам нужно знать, где imake читает свои файлы определений («strace -f xmkmf» может помочь вам в этом) и в каком файле появляется это слово?

...