Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Hello World под QT не компилиццо изза -lqt!


Автор: Gershkovich 27.8.2008, 11:16
Всем привет!

Беда в следующем:
пытаюсь собрать примитивнейшую программку под Qt4

Код

#include <qapplication.h>
int main(int argc,char **argv) {
  QApplication app(argc,argv);
  return(app.exec());
}


Собираю так:
Код

hw: main.o
    gcc -Wall -L/usr/lib main.o -lqt -o /home/gershkovich/bin/hw

main.o: main.cpp
    gcc -Wall -I/usr/include/Qt -c main.cpp -o main.o


Получаю
Код

gcc -Wall -L/usr/lib main.o -lqt -o /home/gershkovich/bin/hw
/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: cannot find -lqt


Читал, что параметр -lqt подключает какие-то необходимые библ-ы Qt4

Что это за библ-ы?  Где они находятся ?
Как заставить make находить их ?


Заранее спасибо.

ЗЫ Пакет qt-4-develop установлен.
По крайней мере yast гворит что установлен.

Автор: JackYF 27.8.2008, 11:22
Цитата(Gershkovich @  27.8.2008,  10:16 Найти цитируемый пост)
пытаюсь собрать примитивнейшую программку под Qt4

Не правильно пытаешься. Правильно: "qmake -project; qmake; make"

Добавлено через 44 секунды
Кстати, на форуме есть отдельный раздел по Qt/GTK/etc.

Автор: Gershkovich 27.8.2008, 11:45
Цитата(JackYF @  27.8.2008,  11:22 Найти цитируемый пост)
Правильно: "qmake -project; qmake; make"


Вот это вот так и набирать в командной строке ?
Вместо просто "make" ?

Цитата(JackYF @  27.8.2008,  11:22 Найти цитируемый пост)
Кстати, на форуме есть отдельный раздел по Qt/GTK/etc. 

Спасибо. Буду знать


Автор: bsa 27.8.2008, 12:00
Цитата(Gershkovich @ 27.8.2008,  11:45)
Цитата(JackYF @  27.8.2008,  11:22 Найти цитируемый пост)
Правильно: "qmake -project; qmake; make"


Вот это вот так и набирать в командной строке ?
Вместо просто "make" ?

qmake -project - только один раз (создает проект)
qmake - иногда (создает makefile из проекта)
make - перед запуском после изменения исходников и/или настроек проекта

Автор: Любитель 27.8.2008, 13:45
Цитата(bsa @  27.8.2008,  12:00 Найти цитируемый пост)
qmake -project - только один раз (создает проект)
qmake - иногда (создает makefile из проекта)

Можно сказать так - qmake нужен только если мейкфайл ещё не создан. В противном случае make сам вызовит qmake и перегенерит мейкфайл, после чего повторно будет запущен make (так qmake генерит мейкфайлы).

Автор: Gershkovich 27.8.2008, 13:59
Т.е.,  если я правильно понял, мне следует вытереть мой Makefile,
потом запустить   qmake (или make - что одно и тоже), 
и он чудесным образом сгенерит мне правильный Makefile,
в котором все ключи и пути будут прописаны правильно ?

Автор: bsa 27.8.2008, 15:09
Цитата(Gershkovich @ 27.8.2008,  13:59)
Т.е.,  если я правильно понял, мне следует вытереть мой Makefile,
потом запустить   qmake (или make - что одно и тоже), 
и он чудесным образом сгенерит мне правильный Makefile,
в котором все ключи и пути будут прописаны правильно ?

Сначала:
Код
$ qmake -project
А затем уже просто
Код
$ qmake
Только рекомендую проверить включенные модули в .pro файле. Он не всегда включает необходимое.

Автор: Gershkovich 28.8.2008, 10:15
Спасибо.
Все заработало.

Если я правильно понял, задача qmake именно в генерации "правильного" Makefile ?
Это особенность Qt или все подобные фреймфорки делают так ?

Автор: Любитель 28.8.2008, 11:30
Это особенность дефолтной кутешной билд-системы (на базе *.pro файлов).

Автор: JackYF 28.8.2008, 11:54
Gershkovich, ну и вопрос решённым помечать не забывай.

Автор: Gershkovich 28.8.2008, 12:28
строга тут у  вас...

Автор: JackYF 28.8.2008, 12:35
Gershkovich, это для удобства smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)