Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 18 окт 2019, 15:54




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 18 апр 2003, 00:40 
вобщем....
банальнейший пример не могу откомпилировать:

#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 делал а потом всеравно при компиляции такая же ерунда :(


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 18 апр 2003, 01:39 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
не скажу как сейчас, а раньше QT использовал собственные расширения С++

поэтому его исходный код надо прогнать через препроцессор от qt
и только на то что получилось после препроцессора, натравливать gcc
в примерах есть, причем во всех

PS: читай доки, они рулез

_________________
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 18 апр 2003, 11:53 
Неотъемлемая часть форума

У нас с: 10.03.2002
Сообщения: 285
Откуда: Minsk
Парень, да у тебя не линкуется нифига. Видать, -lqt маловато будет. И еще может у тебя qt-либы только статические собраны. Тогда -l надо использовать перед именами входных файлов в командной строке. К тому же, при возникновении проблем (да и вообще почти всегда) лучше пользоваться раздельной компиляцией и линковкой. То есть сначала .o файл делать, а потом уже линковать.

Короче - доки читай, правильно менд0за говорит.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 18 апр 2003, 11:57 
Неотъемлемая часть форума

У нас с: 10.03.2002
Сообщения: 285
Откуда: Minsk
И еще - если либы покомпиляны GCC2, а твой код GCC3 - тоже нифига не слинкуется. Манглинг в ABI поменялся, знаешь ли. Так что и это учти. Не смешивай эти версии компиляторов.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100