Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Niobis от Май 19, 2011, 21:00



Название: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 19, 2011, 21:00
Продублирую из раздела:  Установка, сборка, отладка, тестирование, возможно тут эта тема более уместна

Установил Qt SDK на Windows XP.
Пытаюсь собрать из исходников проект, в котором использована Qt Open Source Edition версии 4.5.0.
Установленный у меня - 4.7.3.
Все идет нормально до момента ввода комманды make.
Получаю ошибку:
Fatal makefile 174: No terminator specified for in-line file operator
Подскажите, как решить проблему. Либо дайте ссылку на нужный Qt, только, пожалуйста, с нормальным инсталятором.


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 19, 2011, 22:10
немного уточню проблему, возможно это поможет:
в Makefile, который создается, строка 174 - это пустое место после дерективы FORCE: , в самом конце.
Возможно, там можно прописать альтернативный вариант компиляции?


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 19, 2011, 22:35
Попробуем зайти с другой стороны:
 Как установить Qt 4.5.0 с помощью VS 2008 Command Prompt ? Прочел множество инструкций, НО в каждой из них на начальном этапе нужно войти в каталог с QT и ввести configure. В ответ на это я получаю: "configure" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Command Prompt просто не знает, что делать с configure. Кстати я тоже, ибо файл - без расширения, а какое присваивать скрипту - не знаю.


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 19, 2011, 23:09
у тебя должен быть configure.exe, а не шелл-скрипт


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 05:32
трижды скачивал из разных источников, везде configure и остальный файлы(бльшинство) - без разрешений. При попытке вручную присобачить .exe при запуске пишет что-то вроде "Программа не помещается в памяти"


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Mikhail от Май 20, 2011, 07:16
Самая лучшая инстукция от троллей в файле INSTALL дистрибутива.

Скачай

http://ftp://ftp.trolltech.com/qt/source/qt-all-opensource-src-4.5.0.zip


и посмотри

http://www.wiki.crossplatform.ru/index.php/Установка_Qt
http://www.wiki.crossplatform.ru/index.php/Сборка_Qt_с_использованием_MS_Visual_Studio


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 17:49
Установил. Во всяком случае я на это надеюсь, потому что длилось это довольно долго.
Я очень надеюсь, что кто-нибуть сможет хоть приблизительно подсказать, как в этом невероятном нагромождении папок отыскать Command Prompt, ибо дальнейшие мои действия согластно инструкции:
Цитировать
откройте "Qt Command Prompt (Командная строка)" из меню "Пуск"
но в меню Пуск никаких признаков установленной программы не появилось.
ОЧЕНЬ ПРОШУ о содействии, надеюсь на ваше терпение(понимаю, что я туплю).
--------------------------------------------
И сразу фейл.
Командная строка Visual Studio судя по всему вполне подходит, но ошибка остается идентичной:
Fatal makefile 162: No terminator specified for in-line file operator
Это ужастно и неприятно. Если у кого-то есть предположения - очень прошу, но ,судя по всему, надежны уже не осталось.


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 20, 2011, 19:09
попробуй скомпилировать через саму студию (т.е. создай в ней проект и подобавляй в него файлы), а не через командную строку


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Mikhail от Май 20, 2011, 19:29
Что то вы все путаете.
Если вы все делали по инструкции то делать это должны были из командной строки студии ( Command Prompt ).
Если не можете найти командную строку то почему уверены, что скомпилировали Qt ?

Fatal makefile 162: No terminator specified for in-line file operator - это сообщение при компиляции вшего проекта?
Если так то выкладывайте проект


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 20:07
Я, видимо, не совсем верно все объяснил. Qt я компилировал из VS 2008 Command Prompt. А сам проект(согластно инструкции) нужно компилировать из командной строки Qt.

Пытаюсь скомпилировать из исходников прогу iTest. На сайте создателя есть и откомпилированная версия, но хотелось-бы иметь возможность компилировать ее своими руками(скажу прямо - нужно несколько упростить ее, ибо прога очень красиво, но слишком круто написана)

Исходники прилагаются, вложения не позволяют rar-архив, поэтому сначала разбил файл на два, а потом переархивировал в zip(довольно глупо получились, но проект не умещался в 500Кб :-[).


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 20:08
Вторая часть вдогонку


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 20, 2011, 20:20
ради интереса скачал исходники с оф. сайта. в построении нету ничего особенного - сначала компилируешь переводы для сервера и клиента, потом собираешь проект.

сборка переводов: заходишь командной строкой в папку сервера/клиента и выполняешь lrelease <тут имя файла проекта>.pro
сборка приложения: заходишь в корневую папку проекта, потом qmake iTest.pro, потом nmake


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 20:36
kambala
Сразу к вам несколько вопросов:
1. какой у вас Visual Studio ?
2. какой у вас Qt ?
3. ваш алгоритм почти сработал, только вот в конце выдало:
Код:
NMAKE: fatal error U1077: '../Visual Studio 9.0\VC\BIN\cl.EXE' : return code '0x2'
Код:
то же самое\BIN\nmake.exe' : return code '0x2'
Код:
NMAKE: fatal error U1077: 'cd' : return code '0x2'
Код:
Stop
Что нужно переустановить чтобы это исправить?


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 20:40
и еще прозьба:
можете откомпилить и выложить тот вариант, который я выкладывал выше.
Если же с ним будут проблемы, выложите пожалуйста свой вариант кода(возможно я криво его скопировал).


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 20, 2011, 20:43
я проверял собираемость приложения на маке (алгоритм все равно один и тот же везде, разве что тут make, а не nmake). главное чтоб командная строка была настроена на Qt (наличие QTDIR, Qt/bin в PATH и все такое).

ну щас и на винде соберем (студия 2008, Qt 4.7.3).

а вот в чем проблема-то закралась - путь кривой:
Код:
c:\Qt\1\iTest 1.4.1>nmake

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cd iTestServer\ && c:\Qt\QtSDK\Desktop\Qt\4.7.3\msvc2008\bin\qmake.exe c
:\Qt\1\iTest 1.4.1\iTestServer\iTestServer.pro -o Makefile
Cannot find file: c:\Qt\1\iTest.
Cannot find file: 1.4.1\iTestServer\iTestServer.pro.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

перенес в c:\Qt\1\iTest и пошло нормально. а дальше уже у меня начинаются чудеса про построении (пробовал и из "обычной" командной строки и из Qt VS Command Prompt)...
Код:
        rc -D_DEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DITESTSERVER -DQT_
DLL -DQT_SVG_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_
HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -fo
 .build.win32\itest.res ..\itest.rc
"rc" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
NMAKE : fatal error U1077: 'rc' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 9.0\VC\bin
\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 21:14
и вот так уже 2-е сутки. Чувствуеш, что в шаге от ответа и тут... все насмарку.
Сейчас попытаюсь установить Visual Studio 2005, авось пальцем в небо попаду и все ошибки магически исчезнут.

Насчет кривого пути - это я при отправке дописал версию, так что это исключено


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Авварон от Май 20, 2011, 21:16
Цитировать
"rc" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
правьте патх


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 20, 2011, 21:51
Цитировать
"rc" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
правьте патх
а где этот файл искать-то? в папке студии его (rc.exe) не видать...

в общем, через креатор, после исправления нескольких ошибок (которые gcc ошибками не посчитал), собралось. вот вся папка (исходники + бинарники + все промежуточные файлы): http://www.mediafire.com/?5kxe5hunl6hcytd


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 20, 2011, 22:07
kambala
спасибо за помощ
Цитировать
через креатор
ха, мне о таком рано думать, я (человек, ничего сложнее билдера не видевший) сомневаюсь в своей способности разобраться с креатором.
он почему-то не желает завершать сборку, просто прерывается

вопрос: на каком этапе должны сгенерироваться .exe-файлы?(собрать все? Выполнить?...)

kambala
еще один вопрос для вас(если вы еще тут): сгенерировавшиеся exe-шники запускаются ? у меня страшно ругаются на отсутствие QtCore4.dll, причем бросит этот файл в директорию - не помогает. Где он хранится у вас?


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: LisandreL от Май 20, 2011, 22:40
Просто, скорее всего, вы не вы не тот файл кидаете. Надо из папки с самой Qt, а не c Qt Creator'ом.
Если не поняли - просто поищите по диску, одна из них вам подойдёт. Остальные dll (QtGui4 наверно) берите оттуда же.


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 20, 2011, 22:43
вопрос: на каком этапе должны сгенерироваться .exe-файлы?(собрать все? Выполнить?...)
собрать все
еще один вопрос для вас(если вы еще тут): сгенерировавшиеся exe-шники запускаются ? у меня страшно ругаются на отсутствие QtCore4.dll, причем бросит этот файл в директорию - не помогает. Где он хранится у вас?
да, все запускается. помимо QtCore4.dll надо еще как минимум бросать в папку QtGui4.dll (все зависимости можно посомтреть с помощью программы dependency walker). и вон товарищ постом выше тоже верно подсказывает :)

попробуй закрыть проект, удалить из папки файл с расширением .pro.user и снова открыть и собрать/запустить.


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: Niobis от Май 21, 2011, 03:16
ОГРОМНОЕ СПАСИБО ВСЕМ за сотрудничество и помощ.
Этот день был полон сложностей и опасностей, но благодаря вам он закончился для меня усешной компиляцией, а не очередным провалом.
LisandreL, Вы были правы, одна из 4-х dll-ок помогла.
Mikhail, спасибо за полезные ссылки. Почти 7-мичасовая установка Qt была не самой веселой частью, но необходимой.
kambala, Вашу помощь невозможно оценить. Мне понадобилось несколько часов на осознание того, что вы прислали, но я так и не смог понять,КАК можно было столь быстро исправить все эти баги в коде? я попытался, но вынужден был опять вернуться к вашей версии файлов. Огромное спасибо лично Вам, отправляю вам лучи добра и желаю всего наилучшего.

-----------------------
надеюсь, когда проснусь не прийдется снова бежать сюда за помощью


Название: Re: Qt 4.5.0 VS Qt 4.7.3 Fatal makefile
Отправлено: kambala от Май 21, 2011, 11:05
так ошибок-то там всего несколько - в одном месте вызывается pow(int, int) и его результат приводится к типу перечисления, а во всех остальных (штуки 3-4) обычный нединамический массив задаётся неконстантным размером.