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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: mingw + QT ошибки линклвки  (Прочитано 1511 раз)

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

Оффлайн Boom-Zoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
mingw + QT ошибки линклвки
« : 16 Декабря 2012, 13:53:40 »
Всем доброго времени суток!
У меня возникла проблема при компиляции проектов с помощью mingw под Ubuntu с использованием QT.
Конфигурация системы:
Ubuntu 12.04 LTS
mingw-w64
QT-4.8.3 перенесённые из Windows.

В проделанной работе руководствовался следующей статьёй http://qtlinux.narod.ru/make_for_win.htm
В приложении qmake.conf который я использую и лог ошибок (ошибки однотипные поэтому сократил чтобы уместиться в ограничение 200кб).
Создаю makefile командой
qmake -spec /path_to_my_conf/win32-x-g++ my_project.pro
Компилирую
make

P.S.
В OpenSuse 12.2 я устанавливаю кроме mingw32, дополнительный пакет mingw32-libqt4 и др. требуемые библиотеки и с этим qmake.conf всё компилируется и запускается.


Пользователь решил продолжить мысль 16 Декабря 2012, 16:20:33:
Вот последние ошибки из лога, они однотипные
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0xec): undefined reference to `QDialog::accept()'
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0xf0): undefined reference to `QDialog::reject()'
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0x104): undefined reference to `non-virtual thunk to QWidget::devType() const'
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0x108): undefined reference to `non-virtual thunk to QWidget::paintEngine() const'
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0x10c): undefined reference to `non-virtual thunk to QWidget::getDC() const'
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0x110): undefined reference to `non-virtual thunk to QWidget::releaseDC(HDC__*) const'
./.obj/moc_xlseditor.o:moc_xlseditor.cpp:(.rdata$_ZTV10GXlsEditor[vtable for GXlsEditor]+0x114): undefined reference to `non-virtual thunk to QWidget::metric(QPaintDevice::PaintDeviceMetric) const'
./.obj/qrc_images.o:qrc_images.cpp:(.text+0x24): undefined reference to `__imp___Z21qRegisterResourceDataiPKhS0_S0_'
./.obj/qrc_images.o:qrc_images.cpp:(.text+0x64): undefined reference to `__imp___Z23qUnregisterResourceDataiPKhS0_S0_'
collect2: ld returned 1 exit status


Подскажите как можно решить проблему?
« Последнее редактирование: 16 Декабря 2012, 16:20:33 от Boom-Zoom »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: mingw + QT ошибки линклвки
« Ответ #1 : 17 Декабря 2012, 12:55:04 »
Если таргет система у тебя Windows - возьми винду.
Неее... чисто ради интереса таким извратом можно заниматься... но чисто ради интереса. Но в таком случае от этого процесса получают кайф а не по форумам вопросы задают. Или тебе пока Qt компилится почесать языком?
В остальных случаях возьми винду.

Если таргет система у тебя Linux - возьми соответствующий SDK (ну sudo apt-get install qt4-dev qtcreator ля-ля тополя и дальше, ну ты понял идею...)

Оффлайн Boom-Zoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: mingw + QT ошибки линклвки
« Ответ #2 : 17 Декабря 2012, 17:53:42 »
Под убунтой поднят сервер с SVN. Нужно что бы различные программные компоненты как для Linux, так и для Windows собирались на сервере. В остальных случаях полностью с Вами солидарен ;)

В качестве дополнительной информации - Hello World компилируется, эти проблемы связаны с линковкой к dll.
« Последнее редактирование: 17 Декабря 2012, 20:36:29 от Boom-Zoom »

Оффлайн Boom-Zoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: mingw + QT ошибки линклвки
« Ответ #3 : 18 Декабря 2012, 23:23:55 »
Вопрос решился! Проблема была в том что нужно использовать не просто версию QT для  Wundows, а специально заточенную для работы с mingw, например эту qt-win-opensource-4.8.1-mingw.exe (есть на оффсайте).
Всем сочувствующим спасибо за моральную поддержку. 8)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: mingw + QT ошибки линклвки
« Ответ #4 : 19 Декабря 2012, 04:44:16 »
Вот уж точно не догадался бы никогда взять Qt собранную для VC и использовать с MinGW
Соглашения по декорации имён разные (ну еще некоторые мелочи аля несовместимый рантайм) вот и не находит линковщик ничего.

 

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