Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Eclipse(+integr)+qt+mingw, Проблемы с гуёвыми проектами 
V
    Опции темы
Langaru
Дата 23.4.2013, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Доброго дня!

Недавно понадобилось переписать старую програмку. Решил восстановить старую связку, которой пользовался примерно года полтора назад, а именно eclipse + qt + mingw. Очень уж qt понравилось. В итоге не могу построить никакой гуёвый проект. Т.е. консольный СИшный проект собирается без проблем, также как и консольный qt. Стоит только добавить любую форму или виджет - билд уходит в отказ, выводя ошибки в хидерных файлах. Пробовал сразу создавать гуёвый проект и создавать консольный (строится) + добавлять виджет (не собирается).
Связка:
1. minGW 4.7.2 (пробовал более раний)
2. Qt 4.8.4 (пробовал и 5.0)
3. Eclipse Indigo (пробовал и Ганимед и Европу) + пакет интеграции от Тролей (1.6.1 - последний, который нашёл)
Точно помню, что такая связка работала отлично раньше, но теперь чего-то не хватает. А понять что конкретно так и не могу. Гугление ничего не дало. Есть конечно вариант - поставить более ранюю qt (в прошлый раз вроде 4.6.х стояла), но хочется разобраться что с этим не так, да и не факт, что поможет.
Также не понимаю почему появляется пути диска С, хотя всё лежит на E:\Develop.

Ошибки при сброке:

Description    Resource    Path    Location    Type
make: *** [debug] Error 2    QtTest            C/C++ Problem
make[1]: *** [debug\QtTest.exe] Error 1    QtTest            C/C++ Problem
undefined reference to `__gxx_personality_v0'    QtTest        line 0, external location: e:\Develop\Qt\Qt4.8.4\lib\libqtmaind.a(qtmain_win.o):qtmain_win.cpp    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest        line 135, external location: c:\iwmake\build_mingw_opensource\src\winmain\qtmain_win.cpp    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest        line 512, external location: c:\iwmake\build_mingw_opensource\src\corelib\tools\qvector.h    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest        line 513, external location: c:\iwmake\build_mingw_opensource\src\corelib\tools\qvector.h    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest        line 93, external location: c:\iwmake\build_mingw_opensource\src\winmain\qtmain_win.cpp    C/C++ Problem


Это сообщение отредактировал(а) Langaru - 23.4.2013, 09:33
PM MAIL   Вверх
borisbn
Дата 23.4.2013, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Попробуй QtCreator. IMHO и проще и документации больше. Да и посвежее будет (март 2013-го)


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Langaru
Дата 23.4.2013, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Цитата(borisbn @ 23.4.2013,  12:41)
Попробуй QtCreator. IMHO и проще и документации больше. Да и посвежее будет (март 2013-го)

Eclipse как то уже к телу ближе, да и привык к нему:) Тем более, что creator пишет, что не видит основной хидер.

E:\Develop\WorkCreator\QtTest\mainwindow.h:7: ошибка: QtGui/QMainWindow: No such file or directory
PM MAIL   Вверх
Langaru
Дата 24.4.2013, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Перепробовав несколько билдов qt, таки нашёл. С qt 4.4.3 проект без проблем собарлся и запустился. 
Что же такого появилось в следующих версиях, что проекты перестают собираться? Может инклюды надо по другому прописывать?

Народ! Неужели никто не в курсе что, да как? Никто не использует eclipse в связке с qt? Или все дружно сидят на старых билдах?

Это сообщение отредактировал(а) Langaru - 25.4.2013, 08:40
PM MAIL   Вверх
Langaru
Дата 27.4.2013, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Ну чтож. Раз никто не хочет ничего сказать, то топик можно закрывать.
PM MAIL   Вверх
kolesnle
Дата 27.4.2013, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



Цитата(Langaru @  24.4.2013,  07:37 Найти цитируемый пост)
Что же такого появилось в следующих версиях, что проекты перестают собираться?

Какая версия Qt? Если Qt5 то все понятно, если Qt4, то там дальше тоже много нововведений
PM MAIL   Вверх
Langaru
Дата 27.4.2013, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Цитата(kolesnle @ 27.4.2013,  22:57)
Какая версия Qt? Если Qt5 то все понятно, если Qt4, то там дальше тоже много нововведений

Например, 4.8.4. 

PM MAIL   Вверх
kolesnle
Дата 27.4.2013, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



какие классы используете?  
PM MAIL   Вверх
Langaru
Дата 28.4.2013, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Цитата

какие классы используете?  

Извольте прочитать тему с самого начала. Там есть следующее:
Цитата

В итоге не могу построить никакой гуёвый проект. Т.е. консольный СИшный проект собирается без проблем, также как и консольный qt. Стоит только добавить любую форму или виджет - билд уходит в отказ, выводя ошибки в хидерных файлах.

Т.о. я вообще ничего не дописывал в изначальный проект, создаваемый эклипсом.
Если это поможет:
main.cpp
Код

#include "qttest_4_8_4.h"

#include <QtGui>
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QtTest_4_8_4 w;
    w.show();
    return a.exec();
}


qttest_4_8_4.cpp
Код

#include "qttest_4_8_4.h"

QtTest_4_8_4::QtTest_4_8_4(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
}

QtTest_4_8_4::~QtTest_4_8_4()
{

}


qttest_4_8_4.h
Код

#ifndef QTTEST_4_8_4_H
#define QTTEST_4_8_4_H

#include <QtGui/QWidget>
#include "ui_qttest_4_8_4.h"

class QtTest_4_8_4 : public QWidget
{
    Q_OBJECT

public:
    QtTest_4_8_4(QWidget *parent = 0);
    ~QtTest_4_8_4();

private:
    Ui::QtTest_4_8_4Class ui;
};

#endif // QTTEST_4_8_4_H


ui_qttest_4_8_4.h (автоматически появляется при билде)
Код

/********************************************************************************
** Form generated from reading UI file 'qttest_4_8_4.ui'
**
** Created: Sun 28. Apr 11:45:32 2013
**      by: Qt User Interface Compiler version 4.8.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_QTTEST_4_8_4_H
#define UI_QTTEST_4_8_4_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_QtTest_4_8_4Class
{
public:

    void setupUi(QWidget *QtTest_4_8_4Class)
    {
        if (QtTest_4_8_4Class->objectName().isEmpty())
            QtTest_4_8_4Class->setObjectName(QString::fromUtf8("QtTest_4_8_4Class"));
        QtTest_4_8_4Class->resize(400, 300);

        retranslateUi(QtTest_4_8_4Class);

        QMetaObject::connectSlotsByName(QtTest_4_8_4Class);
    } // setupUi

    void retranslateUi(QWidget *QtTest_4_8_4Class)
    {
        QtTest_4_8_4Class->setWindowTitle(QApplication::translate("QtTest_4_8_4Class", "QtTest_4_8_4", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class QtTest_4_8_4Class: public Ui_QtTest_4_8_4Class {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_QTTEST_4_8_4_H



Это сообщение отредактировал(а) Langaru - 28.4.2013, 10:51
PM MAIL   Вверх
Guinness
Дата 29.4.2013, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



http://www.qtcentre.org/threads/33394-Link..._personality_v0
А эту тему читали? 
Вы сами собирали qt? Может в файле *.pro проблема?

Вот еще более подробно http://stackoverflow.com/questions/8807098...o-unwind-resume

Это сообщение отредактировал(а) Guinness - 29.4.2013, 08:14
PM MAIL   Вверх
Langaru
Дата 29.4.2013, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Цитата

http://www.qtcentre.org/threads/33394-Link..._personality_v0
А эту тему читали? 
Вот еще более подробно http://stackoverflow.com/questions/8807098...o-unwind-resume

Балгодарю за ссылки, но не помогло, хотя проблема идентичная.
Цитата

Вы сами собирали qt? Может в файле *.pro проблема?

Qt сам не собирал, качал sdk.
Какая проблема может быть в pro файлах?
Вот он:
Код

TEMPLATE = app
TARGET = QtTest_4_8_4 

QT        += core gui 

HEADERS   += qttest_4_8_4.h
SOURCES   += main.cpp \
    qttest_4_8_4.cpp
FORMS     += qttest_4_8_4.ui    
RESOURCES +=



Добавлено через 3 минуты и 25 секунд
Кстати, с созданием нового проекта QtTest_4.8.4 ошибок добавилось. Теперь он не может распознать QtTest_4_8_4Class ui и ui.setupUi(this), хотя они присутствуют. Вот полный перечень:
Description    Resource    Path    Location    Type
make: *** [debug] Error 2    QtTest_4.8.4            C/C++ Problem
make[1]: *** [debug\QtTest_4_8_4.exe] Error 1    QtTest_4.8.4            C/C++ Problem
Method 'setupUi' could not be resolved    qttest_4_8_4.cpp    /QtTest_4.8.4    line 6    Semantic Error
Type 'Ui::QtTest_4_8_4Class' could not be resolved    qttest_4_8_4.h    /QtTest_4.8.4    line 16    Semantic Error
undefined reference to `__gxx_personality_v0'    QtTest_4.8.4        line 0, external location: e:\Develop\Qt\Qt4.8.4\lib\libqtmaind.a(qtmain_win.o):qtmain_win.cpp    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest_4.8.4        line 135, external location: c:\iwmake\build_mingw_opensource\src\winmain\qtmain_win.cpp    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest_4.8.4        line 512, external location: c:\iwmake\build_mingw_opensource\src\corelib\tools\qvector.h    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest_4.8.4        line 513, external location: c:\iwmake\build_mingw_opensource\src\corelib\tools\qvector.h    C/C++ Problem
undefined reference to `_Unwind_Resume'    QtTest_4.8.4        line 93, external location: c:\iwmake\build_mingw_opensource\src\winmain\qtmain_win.cpp    C/C++ Problem

PM MAIL   Вверх
Guinness
Дата 29.4.2013, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



Цитата(Langaru @  29.4.2013,  10:33 Найти цитируемый пост)
Кстати, с созданием нового проекта QtTest_4.8.4 ошибок добавилось. Теперь он не может распознать QtTest_4_8_4Class ui и ui.setupUi(this), хотя они присутствуют. Вот полный перечень:

Ну, когда я Ваш пример компилил, он мне тоже самое сказал. Нужно вот так объявить:
Код

Ui::QtTest_4_8_4 ui;

Рекомендую попробовать все разместить на одном диске, желательно на C. И по идее нужно использовать тот компилятор, которым собирался Qt. Если Вы устанавливали SDK, то там вроде есть собственный, а у Вас, такое ощущение используется какой-то другой. Может в этом проблема?
PM MAIL   Вверх
Langaru
Дата 29.4.2013, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Переписал объявление тоже самое от руки - теперь не ругается. Но основную проблему сие не решает.
Всё лежит в E:\Develop и переносить на C: нет никакого желания в виду многих обстоятельств.
Цитата

И по идее нужно использовать тот компилятор, которым собирался Qt. Если Вы устанавливали SDK, то там вроде есть собственный, а у Вас, такое ощущение используется какой-то другой. Может в этом проблема?

Каким компилятором собирался qt при установке сказать затрудняюсь. Я использую стандартный MinGW. 
Больше всего вводит в ступор то, что на версии qt 4.4.3 всё замечательно собирается и работает, а на более поздних нет.  smile 
Похоже пока лучший вариант вернуться к этой версии.
PM MAIL   Вверх
Guinness
Дата 29.4.2013, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



https://bugreports.qt-project.org/browse/QT...ls:all-tabpanel
Вот что нагуглил. Скорее всего у Вас старая версия компилятора.
Вы в eclipse к какому компилятору прописали путь? Который в SDK вместе qt creator установился или какой-то свой, отдельно скаченный? Если свой, то укажите в eclipse путь у mingw, который находится в папке qt.
PM MAIL   Вверх
Langaru
Дата 29.4.2013, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Версия MinGW 4.7.2. Если ничего не путаю, последняя. Qt при установки сам компилятор не ставил, но спрашивал путь к же установленному. У эклипса путь прописан именно к mingw, который последний и единственный.
Цитата

No, it doesn't require gcc 4.4. The binary we build was built with that compiler, but you can use other ones.

Т.е. не совсем в этом дело.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.