минимум для использования с++ с qt

Модератор: Модераторы разделов

warp
Сообщения: 135

минимум для использования с++ с qt

Сообщение warp »

вобщем, ещё одна заморочка на заезженную тему. на сей раз нужна помощь с тем, что нужно собирать прогу написанную в текстовом редакторе с использованием qt.
вообщем требования такие - есть файл main.cpp в нём код программы. код программы написан, для примера в kword, а сама прога имеет вид:

Код: Выделить всё

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLable lbl ("Hello, World !");
    lbl.show();
    return app.exec();
}


ну и нужно это как то скомпилировать. вопрос - как?
за мировое господство! банзай, товарищи!
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: минимум для использования с++ с qt

Сообщение entry »

warp писал(а):
02.04.2008 22:40
ну и нужно это как то скомпилировать. вопрос - как?


$qmake -project
$qmake - *.pro (тут вместо звездочки нужно подставить имя файла)
$make

возможно придется заменить/добавить:
#include <qapplication.h>
lbl.show(); заменить на lbl->show();
FreaxNet «Shut up and hack!»
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

что то не помогло. вывод консоли просто ужасно длинный. будте терпеливы и да прибудет с вами сила.

Код:

[root@localhost disk2]# gmake -1.cpp gmake: неверный ключ -- 1 gmake: неверный ключ -- . gmake: неверный ключ -- c /* тут gmake --help */ # База данных Make, напечатана Thu Apr 3 00:55:19 2008 # Переменные # определена в среде DESKTOP_SESSION = 01KDE # определена в среде LC_SOURCED = 1 # определена в среде LC_CTYPE = ru_RU.UTF-8 # определена в среде GTK_RC_FILES = /etc/gtk/gtkrc:/home/trupac/.gtkrc:/home/trupac/.kde/share/config/gtkrc # определена в среде XAUTHORITY = /home/trupac/.Xauthority # определена в среде XMODIFIERS = @im=none # определена в среде SHELL = /bin/bash # определена в среде _ = /usr/bin/gmake # определена в среде XDG_CONFIG_DIRS = /etc/xdg:/etc/xdg/kde/ # определена в среде LESSOPEN = |/usr/bin/lesspipe.sh %s # определена в среде HISTCONTROL = ignoredups # определена в среде USERNAME = root # определена в среде KONSOLE_DCOP = DCOPRef(konsole-28566,konsole) # определена в среде XDM_MANAGED = /var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched,rsvd,method=classic,auto # определена в среде DBUS_SESSION_BUS_ADDRESS = unix:abstract=/tmp/dbus-eAtP18SmIM,guid=5c49f3479e8394633a3a51023f011100 # определена в среде KONSOLE_DCOP_SESSION = DCOPRef(konsole-28566,session-1) # определена в среде LC_COLLATE = ru_RU.UTF-8 # определена в среде SCREENDIR = /home/trupac/tmp # определена в среде USER = trupac # определена в среде LC_NAME = ru_RU.UTF-8 # определена в среде PATH = /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/lib/qt3//bin # определена в среде XCURSOR_THEME = default # определена в среде SESSION_MANAGER = local/localhost:/tmp/.ICE-unix/3735 # определена в среде WINDOWID = 41943047 # определена в среде LC_MESSAGES = ru_RU.UTF-8 # определена в среде LC_NUMERIC = ru_RU.UTF-8 # определена в среде GTK2_RC_FILES = /etc/gtk-2.0/gtkrc:/home/trupac/.gtkrc-2.0:/home/trupac/.kde/share/config/gtkrc-2.0 # по умолчанию .FEATURES := target-specific order-only second-expansion else-if archives jobserver check-symlink # определена в среде DM_CONTROL = /var/run/xdmctl # определена в среде LS_COLORS = no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05 ;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:* . bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31 : *.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*. t z=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35 : *.xpm=01;35:*.png=01;35:*.tif=01;35: # определена в среде DISPLAY = :0.0 # определена в среде PWD = /home/trupac/disk2 # определена в среде HOME = /root # определена в среде LESSKEY = /etc/.less # определена в среде LOGNAME = trupac # определена в среде G_FILENAME_ENCODING = @locale # определена в среде KDE_FULL_SESSION = true # определена в среде HOSTNAME = localhost # определена в среде LC_TIME = ru_RU.UTF-8 # определена в среде SSH_ASKPASS = /usr/lib/ssh/ssh-askpass # определена в среде COLORTERM = # определена в среде SECURE_LEVEL = 2 # определена в среде SHLVL = 3 # определена в среде GCONF_TMPDIR = /tmp # определена в среде KDE_MULTIHEAD = false # определена в среде LC_MONETARY = ru_RU.UTF-8 # определена в среде LESS = -MM # определена в среде LC_TELEPHONE = ru_RU.UTF-8 # по умолчанию .VARIABLES := # определена в среде TMPDIR = /root/tmp # определена в среде LANGUAGE = ru_RU.UTF-8:ru # определена в среде MAIL = /var/spool/mail/trupac # определена в среде LESSCHARSET = utf-8 # определена в среде LC_PAPER = ru_RU.UTF-8 # определена в среде BROWSER = /usr/bin/www-browser # определена в среде META_CLASS = download # определена в среде MDV_MENU_STYLE = mandriva # определена в среде PYTHONSTARTUP = /etc/pythonrc.py # определена в среде LC_MEASUREMENT = ru_RU.UTF-8 # определена в среде HISTSIZE = 1000 # определена в среде GS_LIB = /home/trupac/.fonts # определена в среде TMP = /root/tmp # определена в среде LC_IDENTIFICATION = ru_RU.UTF-8 # определена в среде INPUTRC = /etc/inputrc # определена в среде QTDIR = /usr/lib/qt3/ # определена в среде LC_ADDRESS = ru_RU.UTF-8 # определена в среде ENV = /root/.bashrc # определена в среде LANG = ru_RU.UTF-8 # определена в среде TERM = xterm # определена в среде DESKTOP = kde # variable set hash-table stats: # Load=70/1024=7%, Rehash=0, Collisions=5/77=6% # Pattern-specific Variable Values # Нет значений переменных особенных для маски # Каталоги # Нет файлов,нет impossibilities in 0 directories. # Implicit Rules # Неявных правил нет. # Файлы # files hash-table stats: # Load=0/1024=0%, Rehash=0, Collisions=0/0=0% # Пути поиска VPATH # Не определен путь поиска `vpath'. # Не определен общий (переменная `VPATH') путь поиска. # # of strings in strcache: 0 # # of strcache buffers: 0 # strcache size: total = 0 / max = 0 / min = 4096 / avg = 0 # strcache free: total = 0 / max = 0 / min = 4096 / avg = 0 # Печать базы данных Make завершена Thu Apr 3 00:55:19 2008.
за мировое господство! банзай, товарищи!
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: минимум для использования с++ с qt

Сообщение dey »

Здесь -project не абстрактное название вашего проекта, а конкретная опция необходимая для создания файла проекта
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: минимум для использования с++ с qt

Сообщение entry »

warp писал(а):
02.04.2008 23:08
что то не помогло. вывод консоли просто ужасно длинный. будте терпеливы и да прибудет с вами сила.


* Вводи сначала $qmake -project без каких-либо изменений.
* Появиться файл, с расширением .pro $qmake имя_этого_файла.pro
* Появиться файл Makefile, после чего можно смело вводить всем знакомую $make
FreaxNet «Shut up and hack!»
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

^^ я думал меня уже ничем не удивить, када понял что яйцо появилось после курицы, но это... no comments. вообщем такой вывод консоли

Код: Выделить всё

[root@localhost disk2]# make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp: In function ‘int main(int, char**)’:
1.cpp:6: error: ‘QLable’ was not declared in this scope
1.cpp:6: error: expected `;' before ‘lbl’
1.cpp:7: error: ‘lbl’ was not declared in this scope
make: *** [1.o] Ошибка 1
за мировое господство! банзай, товарищи!
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: минимум для использования с++ с qt

Сообщение dey »

warp писал(а):
03.04.2008 00:00
^^ я думал меня уже ничем не удивить, када понял что яйцо появилось после курицы, но это... no comments. вообщем такой вывод консоли

Код: Выделить всё

[root@localhost disk2]# make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp: In function ‘int main(int, char**)’:
1.cpp:6: error: ‘QLable’ was not declared in this scope
1.cpp:6: error: expected `;' before ‘lbl’
1.cpp:7: error: ‘lbl’ was not declared in this scope
make: *** [1.o] Ошибка 1

Может инклуды не для той версии Qt ?
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

скорей всего так. а ммб и нет. как узнать версию либы? и какие инклуды к ней юзать?
в учебнике приводился пример для qt 4, но я только сейчас подумал что у меня мандрива 2007 года, в которм о qt4 ещё не родилась, скажем так.
за мировое господство! банзай, товарищи!
Спасибо сказали:
prefetch98
Сообщения: 3

Re: минимум для использования с++ с qt

Сообщение prefetch98 »

Все проблема в том, что вместо QLabel написано QLable :)
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: минимум для использования с++ с qt

Сообщение dey »

prefetch98 писал(а):
03.04.2008 00:18
Все проблема в том, что вместо QLabel написано QLable :)

Да кстати, я даже не заметил..
(warp) писал(а):подумал что у меня мандрива 2007 года, в которм о qt4 ещё не родилась

С чего такие выводы ?
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

ну вывод такой от балды, конечно! я так соображал - едва стукнуло 5 января, как я наткнулся на рекламу мандривы 2008. следовательно, подумал, значит такое было и с мандривой 2007. значит с момента выхода дистра прошёл уже как минимум год, сейчас уже с копейками и раз двд диск не имеет доступа к интернету, то на нём как была старая либа, так и осталась, а если учесть что сейчас qt тока версии qt 4.0.x, и то их x lim->1 то соображение на тему что у меня либа версии 3, а не 4 имеет место как и существование псевдо рогатых снорлоков.

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

вар 1.

Код: Выделить всё

#include <qapplication.h>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLabel lbl ("Hello, World !");
    lbl.show();
    return app.exec();
}

имеет

Код: Выделить всё

[root@localhost disk2]# make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp: In function ‘int main(int, char**)’:
1.cpp:6: error: ‘QLabel’ was not declared in this scope
1.cpp:6: error: expected `;' before ‘lbl’
1.cpp:7: error: ‘lbl’ was not declared in this scope
make: *** [1.o] Ошибка 1


тут мне показалось что вариант правельный, и я не добавил другие. время покажет? ))
за мировое господство! банзай, товарищи!
Спасибо сказали:
prefetch98
Сообщения: 3

Re: минимум для использования с++ с qt

Сообщение prefetch98 »

Ты забыл #include <QtGui>, т.е. QtGui, где собственно QLabel и определен
Вот так примерно выглядит рабочий код

Код: Выделить всё

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLabel lbl("Hello, World !");
    lbl.show();
    return app.exec();
}
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

снова не удача.
исходники:

Код: Выделить всё

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLabel lbl("Hello, World !");
    lbl.show();
    return app.exec();
}


вывод:

Код: Выделить всё

make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp:1:17: error: QtGui: Нет такого файла или каталога
1.cpp:9:2: warning: no newline at end of file
1.cpp: In function ‘int main(int, char**)’:
1.cpp:5: error: ‘QApplication’ was not declared in this scope
1.cpp:5: error: expected `;' before ‘app’
1.cpp:6: error: ‘QLabel’ was not declared in this scope
1.cpp:6: error: expected `;' before ‘lbl’
1.cpp:7: error: ‘lbl’ was not declared in this scope
1.cpp:8: error: ‘app’ was not declared in this scope
1.cpp: At global scope:
1.cpp:3: warning: unused parameter ‘argc’
1.cpp:3: warning: unused parameter ‘argv’
make: *** [1.o] Ошибка 1
за мировое господство! банзай, товарищи!
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: минимум для использования с++ с qt

Сообщение Civil »

а если учесть что сейчас qt тока версии qt 4.0.x, и то их x lim->1

Сейчас Qt версии 4.3.4 последняя. Скоро уже 4.4.0 будет финальная.
4.0.0 была где-то в 2005-ом году.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: минимум для использования с++ с qt

Сообщение entry »

warp писал(а):
03.04.2008 02:07
make
g++ -c -pipe -Wall -W -O2 -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3/include -o 1.o 1.cpp
1.cpp:1:17: error: QtGui: Нет такого файла или каталога
1.cpp:9:2: warning: no newline at end of file
1.cpp: In function ‘int main(int, char**)’:
1.cpp:5: error: ‘QApplication’ was not declared in this scope
1.cpp:5: error: expected `;' before ‘app’
1.cpp:6: error: ‘QLabel’ was not declared in this scope
1.cpp:6: error: expected `;' before ‘lbl’
1.cpp:7: error: ‘lbl’ was not declared in this scope
1.cpp:8: error: ‘app’ was not declared in this scope
1.cpp: At global scope:
1.cpp:3: warning: unused parameter ‘argc’
1.cpp:3: warning: unused parameter ‘argv’
make: *** [1.o] Ошибка 1


Попробуй вот такой код:

Код: Выделить всё

#include <qapplication.h>
#include <qlabel.h>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QLabel *lbl = new QLabel ("Hello, World !", 0);
    app.setMainWidget(lbl);
    lbl->show();
    return app.exec();
}
FreaxNet «Shut up and hack!»
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: минимум для использования с++ с qt

Сообщение Olegator »

warp писал(а):
03.04.2008 02:07
снова не удача.
исходники:

Код: Выделить всё

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLabel lbl("Hello, World !");
    lbl.show();
    return app.exec();
}


вывод:

Код: Выделить всё

make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp:1:17: error: QtGui: Нет такого файла или каталога
1.cpp:9:2: warning: no newline at end of file
1.cpp: In function ‘int main(int, char**)’:
1.cpp:5: error: ‘QApplication’ was not declared in this scope
1.cpp:5: error: expected `;' before ‘app’
1.cpp:6: error: ‘QLabel’ was not declared in this scope
1.cpp:6: error: expected `;' before ‘lbl’
1.cpp:7: error: ‘lbl’ was not declared in this scope
1.cpp:8: error: ‘app’ was not declared in this scope
1.cpp: At global scope:
1.cpp:3: warning: unused parameter ‘argc’
1.cpp:3: warning: unused parameter ‘argv’
make: *** [1.o] Ошибка 1

у вас не установлен или неправильно установлен Qt, так как не находится QtGui, какой у вас дистрибутив линукса и откуда вы ставили Qt и какая версия Qt?


ясно, увас Qt3. тогда лучше поставьте Qt4, а то потом переучиваться придётся
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

4.4.0 ^^
всё завязываю с танками!

пойду ко я qt 4 искать, а пока не нашёл буду баловатьс с этой, на благо много переучивать не придёться если далеко не уеду. спс усем кто помогал, и маме которая дала меня миру.
за мировое господство! банзай, товарищи!
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: минимум для использования с++ с qt

Сообщение Olegator »

warp писал(а):
03.04.2008 16:31
4.4.0 ^^
всё завязываю с танками!

пойду ко я qt 4 искать, а пока не нашёл буду баловатьс с этой, на благо много переучивать не придёться если далеко не уеду. спс усем кто помогал, и маме которая дала меня миру.

а что искать-то вот сайт http://trolltech.com/, можно взять от туда, но придётся компилировать отладочные библиотеки, и добавлять пути в PATH, впринцепе там весь этот процесс описан. А можно и поставить из репозитария вашего дистрибутива линукс, думаю второй вариант проще для новичка. Какой у вас дистрибутив?
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

у меня mandriva 2007 без каких либо обновлений. (обновляю только свою коллекцию музыки)
посмотрел в репозитариях, вроде есть, но там далеко не свежо. мб стоит сразу обсудить сложный вариант, так как зубы ломать уже не привыкать?
за мировое господство! банзай, товарищи!
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: минимум для использования с++ с qt

Сообщение Olegator »

warp писал(а):
03.04.2008 17:55
у меня mandriva 2007 без каких либо обновлений. (обновляю только свою коллекцию музыки)
посмотрел в репозитариях, вроде есть, но там далеко не свежо. мб стоит сразу обсудить сложный вариант, так как зубы ломать уже не привыкать?

можете попробовать скачать с официального сайта http://trolltech.com/, скачайте архив в нём будет информация по установки
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

полазил по фтп... и... йа ф шоке.
ftp://ftp.tu-chemnitz.de/pub/Qt/qt/source/
что там именно качать надо, а то на главной странице только на 4.4.0 бету отсылают, а хочеться чего нибудь стабильного, версии 4.3.4, тем что будет простой и полной билиотекой (а не ещё незнаю чем (меня смутило огромное количесво ссылок, на непонятно что)) содержащей всё что нужно?
за мировое господство! банзай, товарищи!
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: минимум для использования с++ с qt

Сообщение Olegator »

warp писал(а):
03.04.2008 22:15
полазил по фтп... и... йа ф шоке.
ftp://ftp.tu-chemnitz.de/pub/Qt/qt/source/
что там именно качать надо, а то на главной странице только на 4.4.0 бету отсылают, а хочеться чего нибудь стабильного, версии 4.3.4, тем что будет простой и полной билиотекой (а не ещё незнаю чем (меня смутило огромное количесво ссылок, на непонятно что)) содержащей всё что нужно?

на этом ftp исходники, а вам нужны rpm пакеты, короче подключите мой репозиторий от opensuse http://download.opensuse.org/repositories/.../openSUSE_10.3/ , я надеюсь вы репозитории подключать и пользоваться пакетным менеджером умеете, после подключения зайдите в свой пакетный менеджер, выберете этот репозиторий и поставьте хоть все пакеты сразу, а можете почитать описание пакетов и решить что вам надо ставить а что нет. Ставить лучше rpm пакеты, так как все либы правильно раскидаются по папкам, что бы потом не пришлось шаманить с переменными средами, а так же в меню создадутся необходимые ярлыки и т.д., короче не придётся всё делать вручную, хотя это и не сложно, но всё равно на это уйдёт лишнее время.
Спасибо сказали:
warp
Сообщения: 135

Re: минимум для использования с++ с qt

Сообщение warp »

ну компилировать умеем, да и path добавить не слабо, но ленивому мну только и надо что рпм )).
послений вопрос - мне надо удалять третью версию?
за мировое господство! банзай, товарищи!
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: минимум для использования с++ с qt

Сообщение dey »

warp писал(а):
04.04.2008 00:40
послений вопрос - мне надо удалять третью версию?

Нет, это не нужно
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали: