[Comm] Компиляция программ на QT. Как ???
anterior
=?iso-8859-1?q?anterior_=CE=C1_inbox=2Eru?=
Пн Апр 4 16:30:31 MSD 2005
Я не могу скомпилировать программу с использованием библиотеки QT3 на Мастере
2.2. Например, стандартный пример программы ../examples/qdir, выдает такое:
$ g++ qdir.cpp -I/usr/include/linux-default/include -I/usr/lib/qt3/include
-I/usr/X11R6/include -L/usr/X11R6/lib -L/usr/lib/qt3/lib -lqt
/home/maxim/tmp/ccVbOf6y.o: In function `PixmapView::PixmapView(QWidget *)':
/home/maxim/tmp/ccVbOf6y.o(.text+0x16): undefined reference to
`QScrollView::QScrollView(QWidget *, char const *, unsigned int)'
/home/maxim/tmp/ccVbOf6y.o(.text+0x20): undefined reference to
`PixmapView::QPaintDevice virtual table'
/home/maxim/tmp/ccVbOf6y.o(.text+0x27): undefined reference to `PixmapView
virtual table'
<...>
Не компилируется ни одна программа с использованием QT3. Частично
компилировались программы на QT2 (только простейшие). 95% стандартных
примеров не компилировались. Выдавали что-то в духе "undefined reference to
`XXX virtual table' ". Я перешел с любимого компакта на Мастер 2.2, только по
этой причине, но оказалось и в мастере та же ошибка. Пакеты libqt2,
libqt2-devel, libqt3, libqt3-devel, и все что с ними связано установлено.
Установил даже kdevelop. В файл ~/.bash_profile добавил
QTDIR=/usr/lib/qt3/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib/qt2/lib:$LD_LIBRARY_PATH
MOC=$QTDIR/bin/moc
UIC=$QTDIR/bin/uic
export QTDIR PATH MANPATH LD_LIBRARY_PATH MOC UIC
Версия qt-3.1.1, gcc/++ 2.95.3 (пробовал и с gcc 3.2, gcc 2.96). Как я понимаю
ошибка в том что компилятор не может найти какую-то QT-ную библиотеку. Но я
ведь всё же выполнил то о чем писалось в доке QT/installation.html. Чего еще
нужно.
ЗЫ: ПОЖАЛУЙСТА ОТВЕТЬТЕ НА МОЙ ВОПРОС. КОТОРУЮ НЕДЕЛЮ Я ВОЖУСЬ С ЭТОЙ ОШИБКОЙ.
ГДЕ НУЖНО КОПАТЬ, ЧТО НЕ ТАК. НАВЕРНОЕ Я НЕ ОДИН ТАКОЙ У КОГО БЫВАЛИ ТАКИЕ
ПРОБЛЕМЫ.
Подробная информация о списке рассылки community