вобщем....
банальнейший пример не могу откомпилировать:
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Привет, Мир!", 0 );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();
}
====================
[max@localhost test]$ gcc -o myapp myapp.cpp
myapp.cpp:1:26: qapplication.h: No such file or directory
myapp.cpp:2:25: qpushbutton.h: No such file or directory
myapp.cpp: In function `int main(int, char**)':
myapp.cpp:6: `QApplication' undeclared (first use this function)
myapp.cpp:6: (Each undeclared identifier is reported only once for each function it appears in.)
myapp.cpp:6: parse error before `(' token
myapp.cpp:8: `QPushButton' undeclared (first use this function)
такая херня.. значит типа пакет не нашел... ладно так тебе :
[max@localhost test]$ gcc -o myapp myapp.cpp -I/usr/X11R6/include -I$QTDIR/include -L/usr/X11R6/lib -L$QTDIR/lib -Iqt
/home/max/tmp/ccPl0YwA.o: In function `main':
/home/max/tmp/ccPl0YwA.o(.text+0x23): undefined reference to `QApplication::QApplication[in-charge](int&, char**)'
/home/max/tmp/ccPl0YwA.o(.text+0x3b): undefined reference to `QString::QString[in-charge](char const*)'
/home/max/tmp/ccPl0YwA.o(.text+0x51): undefined reference to `QPushButton::QPushButton[in-charge](QString const&, QWidget*, char const*)'
/home/max/tmp/ccPl0YwA.o(.text+0xa4): undefined reference to `QPushButton::resize(int, int)'
/home/max/tmp/ccPl0YwA.o(.text+0xba): undefined reference to `QApplication::setMainWidget(QWidget*)'
/home/max/tmp/ccPl0YwA.o(.text+0xcc): undefined reference to `QWidget::show()'
/home/max/tmp/ccPl0YwA.o(.text+0xdb): undefined reference to `QApplication::exec()'
/home/max/tmp/ccPl0YwA.o(.text+0xf3): undefined reference to `QPushButton::~QPushButton [in-charge]()'
/home/max/tmp/ccPl0YwA.o(.text+0x102): undefined reference to `QApplication::~QApplication [in-charge]()'
/home/max/tmp/ccPl0YwA.o(.text+0x12e): undefined reference to `QPushButton::~QPushButton [in-charge]()'
/home/max/tmp/ccPl0YwA.o(.text+0x151): undefined reference to `QApplication::~QApplication [in-charge]()'
/home/max/tmp/ccPl0YwA.o: In function `QString::~QString [in-charge]()':
/home/max/tmp/ccPl0YwA.o(.gnu.linkonce.t._ZN7QStringD1Ev+0x21): undefined reference to `QString::shared_null'
/home/max/tmp/ccPl0YwA.o(.gnu.linkonce.t._ZN7QStringD1Ev+0x30): undefined reference to `QStringData::deleteSelf()'
/home/max/tmp/ccPl0YwA.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
что за ерунда? ....
а как вод qmake у меня Makefile делал а потом всеравно при компиляции такая же ерунда
Да е мае помогите плз с Qt разобраться :)
не скажу как сейчас, а раньше QT использовал собственные расширения С++
поэтому его исходный код надо прогнать через препроцессор от qt
и только на то что получилось после препроцессора, натравливать gcc
в примерах есть, причем во всех
PS: читай доки, они рулез
поэтому его исходный код надо прогнать через препроцессор от qt
и только на то что получилось после препроцессора, натравливать gcc
в примерах есть, причем во всех
PS: читай доки, они рулез
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...
Парень, да у тебя не линкуется нифига. Видать, -lqt маловато будет. И еще может у тебя qt-либы только статические собраны. Тогда -l надо использовать перед именами входных файлов в командной строке. К тому же, при возникновении проблем (да и вообще почти всегда) лучше пользоваться раздельной компиляцией и линковкой. То есть сначала .o файл делать, а потом уже линковать.
Короче - доки читай, правильно менд0за говорит.
Короче - доки читай, правильно менд0за говорит.