Russian Qt Forum

Qt => Вопросы новичков => Тема начата: piggywiggy от Январь 20, 2012, 17:03



Название: Начало
Отправлено: piggywiggy от Январь 20, 2012, 17:03
Здравствуйте. Помогите нубу. С Qt знаком 3 дня. Читаю исходники примеров и т.д. Но вот попробовал собрать и запустить готовый пример Hello, world:

Цитировать
#include <QtGui/QApplication>
#include <QtGui/QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel label(QObject::tr("Hello, world!"));
#if defined(Q_WS_S60)
    label.showMaximized();
#else
    label.show();
#endif
    return a.exec();
}

мне выдало ошибку

Цитировать
error MSB4014: The build stopped unexpectedly because of an internal failure.
Microsoft.Build.Exceptions.BuildAbortedException: Build was canceled. MSBuild.exe could not be launched as a child node as it could not be found at the location "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe". If necessary, specify the correct location in the BuildParameters, or with the MSBUILD_EXE_PATH environment variable.

что это за переменная, и где ее указать?
заранее спасибо


Название: Re: Начало
Отправлено: twp от Январь 20, 2012, 17:10
неплохо бы глянуть pro-файл


Название: Re: Начало
Отправлено: piggywiggy от Январь 20, 2012, 17:18
неплохо бы глянуть pro-файл

http://www.ex.ua/view_storage/568812505476 (http://www.ex.ua/view_storage/568812505476)


Название: Re: Начало
Отправлено: twp от Январь 20, 2012, 17:29
вроде все ок. Я так понимаю используется Qt для MSVC. А нормально запускаются примеры что поставляются с Qt? И проект для VC как генерировался?


Название: Re: Начало
Отправлено: piggywiggy от Январь 20, 2012, 17:34
так это ж и есть пример поставляемый с Qt

этот проект состоит из одного файла(в папке Source только файл main.cpp)


Название: Re: Начало
Отправлено: twp от Январь 20, 2012, 17:45
а что на счет второго вопроса?


Название: Re: Начало
Отправлено: piggywiggy от Январь 20, 2012, 17:48
что значит "как генерировался" ?  что вы имеете ввиду?


Название: Re: Начало
Отправлено: piggywiggy от Январь 20, 2012, 17:51
через меню Qt-> Open Qt project  *.pro
 Visual попросил regenerate the file


Название: Re: Начало
Отправлено: twp от Январь 20, 2012, 17:55
а с консоли собирается нормально?


Название: Re: Начало
Отправлено: kuzulis от Январь 20, 2012, 17:58
А
Цитировать
c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
есть?


Название: Re: Начало
Отправлено: piggywiggy от Январь 20, 2012, 17:59
есть, проверял


Название: Re: Начало
Отправлено: piggywiggy от Январь 20, 2012, 18:16
с консоли не получается
делаю вот что:
C:\Qt\4.8.0\examples\widgets\applicationicon>
nmake

в ответ nmake не является внутренней или внешней программой
или я неправильно  это делаю


Название: Re: Начало
Отправлено: twp от Январь 20, 2012, 18:34
это потому что в системе не прописаны переменные среды. Нужно запустить консоль, через пуск->программы->Qt и там должна быть меню для запуска консоли. После ее запуска перейти в каталог примера (cd C:\Qt\4.8.0\examples\widgets\applicationicon), и там выполнить qmake && nmake


Название: Re: Начало
Отправлено: piggywiggy от Январь 21, 2012, 13:12
переменная среды у меня указана
она указывает на папку с Qt

я запускаю консоль Visual studio, перехожу в папку размещения примера:

C:\Qt\4.8.0\examples\widgets\applicationicon

далее ввожу команду qmake, но результата нет
пишет qmake не является внутренней или внешней командой


Название: Re: Начало
Отправлено: kambala от Январь 21, 2012, 16:02
в PATH должна находится QTDIR/bin, а не просто QTDIR


Название: Re: Начало
Отправлено: piggywiggy от Январь 21, 2012, 16:42
в PATH должна находится QTDIR/bin, а не просто QTDIR
исправил
теперь когда в папке примера выполняю qmake ошибка не появляется, система просто задумывается на секунду и все


Название: Re: Начало
Отправлено: kambala от Январь 21, 2012, 17:16
всё правильно. после этого выполни nmake


Название: Re: Начало
Отправлено: piggywiggy от Январь 22, 2012, 13:44
выполняю nmake, но появляется сообщение, что nmake не является внутренней или внешней командой


Название: Re: Начало
Отправлено: kambala от Январь 22, 2012, 14:07
видно его тоже нет в PATH :) внеси туда "c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\" (или где там у тебя студия находится). или вызывай nmake по полному пути.


Название: Re: Начало
Отправлено: piggywiggy от Январь 22, 2012, 14:35
у меня не было nmake на компе, установил)
теперь проблемы поменялись:
C:\Qt\4.8.0\examples\widgets\applicationicon>qmake applicationicon.pro
C:\Qt\4.8.0\examples\widgets\applicationicon>C:\Qt\4.8.0\bin\NMAKE.exe

ошибка

Makefile.Release<55> : fatal error U1088: invalid separator '::' or inference rule.
Stop.
NMAKE fatal error U1077: 'C:\Windows\system32\cmd.exe' : return code '0x2'
Stop.


Название: Re: Начало
Отправлено: kambala от Январь 22, 2012, 14:38
как это не было если у тебя установлена студия?


Название: Re: Начало
Отправлено: piggywiggy от Январь 22, 2012, 14:45
не было файла nmake exe


Название: Re: Начало
Отправлено: piggywiggy от Январь 22, 2012, 23:00
кто-нибудь знает в чем суть ошибок U1077 и U1088?
не собирается никак?


Название: Re: Начало
Отправлено: twp от Январь 22, 2012, 23:38
используй qt-консоль (см. вложение) потому что добавление пути к nmake в переменную окружения PATH недостаточно. Должны быть видны пути ко всем инклудам и либам MSVC и Qt, а также переменная QMAKESPEC. Во вложении отображена консоль для сборки MinGW. Что-то подобное должно быть у тебя для Qt и VS. Если там такого нет (например если Qt собрано из исходников), то тогда нужно запустить с командной строки bat-файл QTDIR\bin\qtvars.bat и тогда все необходимые переменные среды будут задействованы для текущей сеанса консоли и можно собирать примеры из Qt