2012-05-04 2 views
5

Я работаю над Qt 4.7.2 на Windows. Я создал Makefile, Makefile.Debug и Makefile.Release. Однако, когда я пытаюсь использовать mingw32-сделать, чтобы создать исполняемый файл, я получаю следующее сообщение об ошибке:Отсутствует ошибка Separator в Makefile

mingw32-make -f Makefile.Debug all 
mingw32-make[1]: Entering directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql' 
Makefile.Debug:61: *** missing separator. Stop. 
mingw32-make[1]: Leaving directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql' 
mingw32-make: *** [debug-all] Error 2 
+1

Вы смешиваете файлы nmake/msvc с mingw? –

+0

Насколько сложно показать нам строку 61 Makefile.Debug (и строки рядом с ней)? – Jens

+0

На линии 61 есть только «<<». Я поставил перед ним вкладку, и теперь она дает еще одну ошибку. Я спросил его ниже. – gizemdemirel

ответ

8

«Отсутствует разделитель» почти всегда означает, что у вас есть строка, которая должна начинаться с язычком, что вместо начинается с пространство.

0

Если вы действительно показали нам, что было в строке 61 файла Makefile.debug, мы могли бы дать вам лучший ответ. «Missing separator» - это make-версия «синтаксической ошибки». Это в основном означает, что make увидел строку в make-файле, которую он не мог понять.

Одна из причин может быть, как Уильям Пурселл упоминает, что у вас есть пространства, представляющие ваши линии рецептов, но есть много других причин. Возможно, вы забыли «:» между целью и предпосылкой или «=» в присваивании переменной. Есть и другие возможности.

1

У меня есть «< <» в строке 61 файла Makefile.Debug. Как предложил Уильям Пурселл, я положил вкладку до «< <». Я решил проблему линии 61, но теперь у меня есть еще одна проблема:

mingw32-make[1]: *** [tmp\obj\debug_shared\qsqlmysqld_resource.res] Error 2 
mingw32-make[1]: Leaving directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql' 
mingw32-make: *** [debug-all] Error 2 
12

Очевидно, что этот ответ является поздно, но я ответить на него для будущих поколений ... это ударил меня сегодня.

Фрэнк Остерфельд почти наверняка имел это право. Не знаете, как вы сгенерировали make-файлы, но они, вероятно, makefile makefile, а не mingw make-файлы. Вы можете сказать, глядя на верхнюю часть Makefile.Debug. Если вы видите «CXX = cl», а не «CXX = g ++», то это ваша проблема.

В моем случае я ударил эту ошибку при попытке скомпилировать сам Qt SDK. Короче говоря: мне нужно было указать «-платформу win32-g ++» в командной строке configure (по умолчанию она была равна win32-msvc).

+0

Вы должны указать «-платформу », где - любая строка, содержащая «win32-g ++». Это означает, что «win64-g ++» не будет работать, но «win32-g ++ - 4.6» будет. См. Строку 1380 из \ Qt \ 4.8.5 \ tools \ configure \ configureapp.cpp. – JPaget

+2

Я решил с помощью 'set QMAKESPEC = C: \ Qt \ 4.8.5 \ mkspecs \ win32-g ++' – JuanPablo

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