Russian Qt Forum
Ноябрь 23, 2024, 12:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Не могу собрать Qt [4.3.0]  (Прочитано 12313 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« : Июль 23, 2007, 16:35 »

Скачал себе кутю qt-win-opensource-src-4.3.0.zip , распаковал в папку, прописал пути. Создал bat файл такого содержания
Код:

configure -release -static -no-fast -no-exceptions -no-stl -qt-sql-odbc -qt-sql-sqlite -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -no-dsp -no-vcproj -no-rtti -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -platform win32-g++

Изменил pro файл
Код:

.....
#process the projects
for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) {
    isEqual(PROJECT, tools) {
       !cross_compile:SUBDIRS += tools
       else:SUBDIRS += tools/qtestlib
#    } else:isEqual(PROJECT, examples) {
#       SUBDIRS += examples
#    } else:isEqual(PROJECT, demos) {
#       SUBDIRS += demos
    } else:isEqual(PROJECT, libs) {
       include(src/src.pro)
    } else:isEqual(PROJECT, qmake) {
#      SUBDIRS += qmake
    } else {
       message(Unknown PROJECT: $$PROJECT)
    }
}

Запускаю bat файл и получаю ошибку, что что-то не продефайнено в файле Qt/4.3.0/src/corelib/global/qconfig.cpp. В файле такая картина
Код:

/* Licensed */
static const char qt_configure_licensee_str          [512 + 12] = "qt_lcnsuser=Open Source";
static const char qt_configure_licensed_products_str [512 + 12] = "qt_lcnsprod=OpenSource";
static const char qt_configure_prefix_path_str       [512 + 12] = "qt_prfxpath=C:\\Qt\\4.3.0";
static const char qt_configure_documentation_path_str[512 + 12] = "qt_docspath=C:/Qt/4.3.0/doc";
static const char qt_configure_headers_path_str      [512 + 12] = "qt_hdrspath=C:/Qt/4.3.0/include";
static const char qt_configure_libraries_path_str    [512 + 12] = "qt_libspath=C:/Qt/4.3.0/lib";
static const char qt_configure_binaries_path_str     [512 + 12] = "qt_binspath=C:/Qt/4.3.0/bin";
static const char qt_configure_plugins_path_str      [512 + 12] = "qt_plugpath=C:/Qt/4.3.0/plugins";
static const char qt_configure_data_path_str         [512 + 12] = "qt_datapath=C:/Qt/4.3.0";
static const char qt_configure_translations_path_str [512 + 12] = "qt_trnspath=C:/Qt/4.3.0/translations";
static const char qt_configure_examples_path_str     [512 + 12] = "qt_xmplpath=C:/Qt/4.3.0/examples";
static const char qt_configure_demos_path_str        [512 + 12] = "qt_demopath=C:/Qt/4.3.0/demos";
/* strlen( "qt_lcnsxxxx" ) == 12 */
#define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
#define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
#define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
#define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
#define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
#define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
#define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
#define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
#define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
#define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
!!!Вот тут что-то не то
lif !defined(QT_NO_STYLE_CLEANLOOKS)
# define QT_NO_STYLE_CLEANLOOKS
#endif

#if defined(QT_NO_STYLE_MOTIF) && defined(QT_STYLE_MOTIF)
# undef QT_NO_STYLE_MOTIF
#elif !defined(QT_NO_STYLE_MOTIF)
# define QT_NO_STYLE_MOTIF
#endif

#if defined(QT_NO_STYLE_PLASTIQUE) && defined(QT_STYLE_PLASTIQUE)
# undef QT_NO_STYLE_PLASTIQUE
#elif !defined(QT_NO_STYLE_PLASTIQUE)
# define QT_NO_STYLE_PLASTIQUE
#endif

#if defined(QT_SQL_ODBC) && defined(QT_NO_SQL_ODBC)
# undef QT_SQL_ODBC
#elif !defined(QT_SQL_ODBC)
# define QT_SQL_ODBC
#endif

#if defined(QT_SQL_SQLITE) && defined(QT_NO_SQL_SQLITE)
# undef QT_SQL_SQLITE
#elif !defined(QT_SQL_SQLITE)
# define QT_SQL_SQLITE
#endif

Далее методом проб и ошибок узнаю, что этот файлик создается в самом начале процесса конфигурирования. Запускаю процесс и, как только создается файлик, изменяю его:
Цитировать

#if defined(QT_NO_STYLE_CLEANLOOKS) && defined(QT_STYLE_CLEANLOOKS)
# undef QT_NO_STYLE_CLEANLOOKS
#elif !defined(QT_NO_STYLE_CLEANLOOKS)
# define QT_NO_STYLE_CLEANLOOKS
#endif

После этого конфигурирование проходит на ура. Начинаю компилить и получаю ошибку в файле Qt/4.3.0/src/gui/kernel/qapplication_win.cpp в функции
Цитировать

static void alert_widget(QWidget *widget, int duration)
{
    if (!pFlashWindowEx) {
        QLibrary themeLib(QLatin1String("user32"));
        pFlashWindowEx  = (PtrFlashWindowEx)themeLib.resolve("FlashWindowEx");
    }

    if (pFlashWindowEx && widget && !widget->isActiveWindow()) {
        DWORD timeOut = GetCaretBlinkTime();
        if (timeOut <= 0)
            timeOut = 250;

        UINT flashCount;
        if (duration <= 0)
            flashCount = 10;
        else
            flashCount = duration/timeOut;

        FLASHWINFO info;
        info.cbSize = sizeof(info);
        info.hwnd = widget->window()->winId();
        info.dwFlags = FLASHW_TRAY;
        info.dwTimeout = timeOut;
        info.uCount = flashCount;

        pFlashWindowEx(&info);
    }
}

Что я делал не так и как мне скомпилить? С 4.2.3 не было никаких проблем.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Icoz
Гость
« Ответ #1 : Июль 23, 2007, 16:47 »

Почти также коментил pro - собиралось без таких проблем.
Правда я собирал -shared... Со статиком у меня в винде всегда проблемы были.
собирал при помощи mingw идущего в комплекте к devcpp (DevC++)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Июль 23, 2007, 16:55 »

Цитата: "Icoz"
Почти также коментил pro - собиралось без таких проблем.
Правда я собирал -shared... Со статиком у меня в винде всегда проблемы были.
собирал при помощи mingw идущего в комплекте к devcpp (DevC++)

Дык я тоже через mingw. Побовал не коментить pro файл, не помогло. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Icoz
Гость
« Ответ #3 : Июль 23, 2007, 18:42 »

Думаю, что это из-за статика
А готовую сборку поставить почему не хочешь?

добавлено спустя 53 секунды:

 http://ftp.iasi.roedu.net/mirrors/ftp.trolltech.com/qt/source/qt-win-opensource-4.3.0-mingw.exe
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Июль 24, 2007, 11:19 »

Цитата: "Icoz"
Думаю, что это из-за статика
А готовую сборку поставить почему не хочешь?

добавлено спустя 53 секунды:

 http://ftp.iasi.roedu.net/mirrors/ftp.trolltech.com/qt/source/qt-win-opensource-4.3.0-mingw.exe

С трафиком проблемы. Не анлим. Грустный А статик очень нужен.

добавлено спустя 15 часов 54 минуты:

 Закоментил функцию, на которую ругалось, и все собралось. И даже работает. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Июль 24, 2007, 11:32 »

Цитата: "panter_dsd"

 Закоментил функцию, на которую ругалось, и все собралось. И даже работает. Улыбающийся


А на какую функцию ругалось? Может нехватает какого-то инклуда?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Июль 24, 2007, 11:37 »

Смотри первый пост. Там в конце приводилась функция.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Июль 24, 2007, 11:41 »

Разве ругань была на всю функцию alert_widget?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #8 : Июль 24, 2007, 11:46 »

Нет. Ругалось на FLASHWINFO,pFlashWindowEx и что-то еще.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #9 : Июль 24, 2007, 11:57 »

Надо было попробывать подключить winuser.h и написать репорт тролям
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #10 : Июль 24, 2007, 16:32 »

В следующий раз, когда буду собирать. Улыбающийся
Пока все работает.
Спасибо за помощь.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
evilguard
Гость
« Ответ #11 : Июль 27, 2007, 03:48 »

У меня тоже проблема связана с переходом на версию 4.3.0, я уже 3.5 месяца не занимался программированием, сейчас возобновил, скачал новую версию, откомпилировал, но моя программа, которую я писал до этого не запускается в релизе: выдает следующие ошибки:
Error   1   error LNK2019: unresolved external symbol "public: __thiscall Model::Model(int,int,class QObject *)" (??0Model@@QAE@HHPAVQObject@@@Z) referenced in function _main   main.obj
Error   2   fatal error LNK1120: 1 unresolved externals   release\mapper.exe   
В дебаге все ок. Помогите пожалуйста кто-нибудь, просто тяжело все вспоминать, а тут еще и ошибка не понятно в чем. Заранее благодарен!!!

добавлено спустя 1 минуту:

 я даже понятия не имею где локализована ошибка, так как это ошибка линкера, а не компилятора.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #12 : Июль 27, 2007, 08:15 »

Model::Model - тролли свои классы обзывают типа QModel

значит проблема у вас
скорее всего деклорация конструктора есть
а его тела нет
Записан
evilguard
Гость
« Ответ #13 : Июль 30, 2007, 04:06 »

проблема в том что не видно в каком файле локализована ошибка
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #14 : Июль 30, 2007, 11:17 »

Цитата: "evilguard"
проблема в том что не видно в каком файле локализована ошибка


Вы проверили версию Admin? Конструктор Model::Model(int,int, QObject *) определён? имхо, причина именно в этом
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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