Записки программиста Программирование и не только

19Апр/123

МСВС и Qt

Понадобилось запустить программу под МСВС3.0 (Kernel 2.4.32, gcc-2.95 и 3.3, Qt 4.4.2)
Сама программа писалась под Qt 4.6.3
Отличия 4.6 от 4.4 достаточно существенны, чтобы программы не компилировалась совсем.
Статическая сборка (собиралось под gcc44 и на ядре 2.6+) работать отказалась, мотивируя отказ фразой "Исключение в операции с плавающей точкой (core dumped)"

Решил задачу так.
Qt 4.6 можно собрать только на gcc4, поэтому скачал gcc-4.2, скомпилировал и поставил.
Скачал qt-4.6.3 (qt-everywhere-opensource-src-4.6.3.tar.gz), распаковал, собрал как статику:
./configure -debug-and-release -static -qt-sql-sqlite -no-qt3support -qt-libtiff -qt-libpng -qt-libjpeg -nomake demos -nomake examples -nomake tools -no-webkit -prefix /opt/qt4.6.3static
Всё успешно собралось и установилось.
Creator удалось поставить вот такой версии - qt-creator-linux-x86-gcc3.3-opensource-1.2.1.bin

Проект с программой успешно собрался, но release версия так работать и не захотела. Segmentation fault и всё тут.
Зато debug версия запустилась на ура.

Перетащил на чистый МСВС - не может найти и загрузить libstdc++.so.6
Утаскиваем и её. Положил рядом с бинарником, сделал симлинк ln -s libstdc++.so.6.0.3 /usr/lib/libstdc++.so.6

Всё завелось и полетело. Решить бы еще проблему с release версией... Но это уже не так страшно.

Комментарии (3) Пинги (0)
  1. А можно поподробнее, и продолжение истории ? Сейчас такая-же проблема. Я и в линуксе почти 0 , хотелось бы узнать как вообще gcc устанавливалась под МСВС ? Что для этого понадобилось ?

    • Продолжения пока нет.
      Какие именно подробности интересуют?

      gcc я собирал просто.
      Скачал отсюда ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.2.0/gcc-4.2.0.tar.bz2
      Распаковал на МСВС и сделал ./configure без параметров, потом make и make install
      Инсталяция сама заменила системный компилятор по-умолчанию, даже не пришлось ничего менять.

      Qt тоже скачивался, распаковывался и конфигурировался с выше указанными ключами. Потом опять же make и make install

      В QtCreator в свойствах добавил свежесобранную библиотеку, которая поселилась тут -/opt/qt4.6.3static

      Ну и всё. Debug версии нормально работают.

      Всё это я делал вообще на виртуалке. Готовые бинарники с библиотечкой уже переносятся на боевые машины, где ничего из вышеперечисленного не делалось.

      • Всё =) себе скомпилил qt 4.7.2 и gcc 4.7 , скомпилил svn в общем всё стало зашибись ! Спасибо. Я тоже на виртуалке. Qt 4.8 не получилось установить из-за отсутствия futex.h


Leave a comment

Нет обратных ссылок на эту запись.