Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Praid от Январь 26, 2011, 16:46



Название: Требуется сборка (Qt Examples)
Отправлено: Praid от Январь 26, 2011, 16:46
Как правильно собрать под винду стандартные примеры или примеры из книг, или вот этот пример:
-----------------
http://doc.qt.nokia.com/qq/qq26-openglcanvas.html
Исходники:
http://doc.qt.nokia.com/qq/qq26-openglcanvas.zip
-----------------

Дело вот в чем: когда создаю свой проект в Visual Studio все прекрасно компилится, вот когда пытаюсь откомпилить исходники примеров выдает странные ошибки:
Цитировать
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall OpenGLScene::OpenGLScene(void)" (??0OpenGLScene@@QAE@XZ) referenced in function _main

model.exe : fatal error LNK1120: 1 unresolved externals

Вопрос: Как правильно собрать стандартные примеры ?


Название: Re: Требуется сборка (Qt Examples)
Отправлено: twp от Январь 26, 2011, 18:41
собрал ради интереса gcc без проблем. Скорее всего неправильно сгенерирован студийный проект.
qmake -t vcapp
или
qmake -tp vc

в общем читаем ассистент  ;)


Название: Re: Требуется сборка (Qt Examples)
Отправлено: Praid от Январь 26, 2011, 20:41
собрал ради интереса gcc без проблем. Скорее всего неправильно сгенерирован студийный проект.
qmake -t vcapp
или
qmake -tp vc

в общем читаем ассистент  ;)
Все верно проблема была именно в созданном проекте.
Я создавал проект и потом в его папке з аменял все файлы на файлы из примера поэтому и появлялась эта ошибка. Потом когда дошло решил создать проект и уже непосредственно ручками через вижуал создавать все заголовочные и срр файлы только тогда все правильно откомпилилось.
Но я так и не понял в чем собственно разница ? Может это как отражается внутри самого проекта ? (*.sln) И как скомпилировать примеры без Visual Stdudio ? (nmake и make не находит)


Название: Re: Требуется сборка (Qt Examples)
Отправлено: twp от Январь 26, 2011, 21:01
вручную создавать студийный проект конечно можно, но только с нуля, если установлен Qt-addin для студии, а потом сохранить его настройки в pro-файле. Для существующиго же проекта, нужно генерить. Для того чтоб qmake и nmake работали есть два способа. Первый - прописать все переменные среды в системе (для Qt и для студии). Второй - запускать батник qtvars.bat всегда перед работой  с командной строкой. Он лежит в %QTDIR%\bin . Его можно также вызвать из Пуск -> программы -> Qt 4.7.1 -> Qt 4.7.1 Command Prompt (конечно если Qt была установлена, а не собрана из исходников)
После этого можно и генерить проект и собирать, только в студии это делается через nmake, make это gcc. Собрать с командной строки собрать проще простого:
qmake
nmake


Название: Re: Требуется сборка (Qt Examples)
Отправлено: Aleksei от Январь 27, 2011, 15:39
Цитировать
Но я так и не понял в чем собственно разница ? Может это как отражается внутри самого проекта ? (*.sln) И как скомпилировать примеры без Visual Stdudio ? (nmake и make не находит)

Для компиляции через консоль надо запустить Visual Studio Command Prompt.


Название: Re: Требуется сборка (Qt Examples)
Отправлено: Praid от Январь 28, 2011, 16:25
Цитировать
Но я так и не понял в чем собственно разница ? Может это как отражается внутри самого проекта ? (*.sln) И как скомпилировать примеры без Visual Stdudio ? (nmake и make не находит)

Для компиляции через консоль надо запустить Visual Studio Command Prompt.
Спасибо разобрался, теперь все работает.
Для компиляции надо:
1) набрать qmake - для создания make файлов сборки
2) набрать nmake - для сборки самого приложения