Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: g++ 2.95  (Прочитано 1676 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн grg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
g++ 2.95
« : 02 Октября 2007, 21:05:08 »
Доброго времени суток.
в ходе установки и работы старого компилятора возник следующий вопрос:::
задача: на Ubuntu (7.04) завершить разработку проекта написанного под g++2.95.4 и qt3.3.3
для начала естественно попробовал на тестовой программке, предварительно установив все пакеты с упоминанием g++2.95.x и qt3
#include <iostream.h>
//#include <qpainter.h>
int main()
{
cout << "tipa test";
return 0;
}
вроде заработал, скомпилил и запустил, НО когда снял коментарий с #include <qpainter.h>
начал выдавать ошибки
root@grg-laptop:/home/grg/gtest# make
g++-2.95 -c -pipe -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG -DQT_TABLET_SUPPORT  -I/usr/share/qt3/mkspecs/default -I/usr/include/qt3 -o main.o main.cpp
g++-2.95  -o gtest main.o    -L/usr/share/qt3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
main.o: In function `QValueListPrivate<QString>::QValueListPrivate(void)':
main.cpp:(.QValueListPrivate<QString>::gnu.linkonce.t.(void)+0x25): undefined reference to `QString::shared_null'
main.cpp:(.QValueListPrivate<QString>::gnu.linkonce.t.(void)+0x2e): undefined reference to `QString::makeSharedNull(void)'
main.o: In function `QValueListPrivate<QString>::~QValueListPrivate(void)':
main.cpp:(.gnu.linkonce.t._._t17QValueListPrivate1Z7QString+0x27): undefined reference to `QString::shared_null'
main.cpp:(.gnu.linkonce.t._._t17QValueListPrivate1Z7QString+0x32): undefined reference to `QStringData::deleteSelf(void)'
main.cpp:(.gnu.linkonce.t._._t17QValueListPrivate1Z7QString+0x5f): undefined reference to `QString::shared_null'
main.cpp:(.gnu.linkonce.t._._t17QValueListPrivate1Z7QString+0x6a): undefined reference to `QStringData::deleteSelf(void)'
main.o: In function `QValueListPrivate<QString>::insert(QValueListIterator<QString>, QString const &)':
main.cpp:(.QValueListPrivate<QString>::gnu.linkonce.t.insert(QValueListIterator<QString>, QString const &)+0x27): undefined reference to `QString::QString(QString const &)'
main.o: In function `QValueListPrivate<QString>::QValueListPrivate(QValueListPrivate<QString> const &)':
main.cpp:(.QValueListPrivate<QString>::gnu.linkonce.t.(QValueListPrivate<QString> const &)+0x25): undefined reference to `QString::shared_null'
main.cpp:(.QValueListPrivate<QString>::gnu.linkonce.t.(QValueListPrivate<QString> const &)+0x2e): undefined reference to `QString::makeSharedNull(void)'
collect2: ld returned 1 exit status
make: *** [gtest] Ошибка 1
root@grg-laptop:/home/grg/gtest#
прошерстил гугл, яндекс и прочих, людей с такой проблемой полно, решений не увидел работающих под убунтой.
собственно одно из решений вставить библиотеку libqt (не libqt-mt), но ее в убунте нет...
другое решение - каким-то образом заставить видеть хидеры qt3 , в частности qpainter.h(/usr/include/qt3/qpainter.h), вот как это сделать непонятно... вроде в makefile путь прописан, а ошибки остаются... решение в виде жесткого добавления всех хидеров qt конечно исправляет ошибки, но процесс компиляции неимоверно долгий становится...
строка из makefile :::
INCPATH  = -I/usr/share/qt3/mkspecs/default -I/usr/include/qt3
Буду очень признателен за любой совет, подсказку как все-таки заставить видеть хидеры qt.

Оффлайн grg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: g++ 2.95
« Ответ #1 : 12 Октября 2007, 12:56:08 »
проблема решилась путем установки qt с сайта Троллтех'а... Видимо в убунтовской версии qt не все включено...

 

Страница сгенерирована за 0.022 секунд. Запросов: 22.