Просмотр сообщений
|
Страниц: 1 ... 386 387 [388] 389
|
5806
|
Qt / Установка, сборка, отладка, тестирование / Не могу собрать Qt [4.3.0]
|
: Июль 23, 2007, 16:55
|
Почти также коментил pro - собиралось без таких проблем. Правда я собирал -shared... Со статиком у меня в винде всегда проблемы были. собирал при помощи mingw идущего в комплекте к devcpp (DevC++) Дык я тоже через mingw. Побовал не коментить pro файл, не помогло.
|
|
|
5807
|
Qt / Установка, сборка, отладка, тестирование / Не могу собрать Qt [4.3.0]
|
: Июль 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 не было никаких проблем.
|
|
|
5808
|
Qt / Общие вопросы / Переключение раскладки клавы
|
: Июль 21, 2007, 11:27
|
Кроссплатформенно у меня не получилось, сделал для винды #ifdef винда LoadKeyboardLayout("00000419", KLF_ACTIVATE); #endif Если кто знает другой способ, поделитесь пожалуйста.
|
|
|
5812
|
Qt / Общие вопросы / Нулевой размер у гектарного файла
|
: Июнь 26, 2007, 11:37
|
Спасибо за ответы. Кутя у меня 4.2.3. А разве не так - QFileInfo qfiFile("c:\\pagefile.sys") должно быть в Винде?
Очепятался. Вообще у меня "c:/pagefile.sys". Придется, наверное, через std или winapi действовать.
|
|
|
5813
|
Qt / Общие вопросы / Нулевой размер у гектарного файла
|
: Июнь 25, 2007, 11:48
|
Использую QFileInfo qfiFile("c:\pagefile.sys") qfiFile.size() равен нулю, хоты своп у меня гектарный. Я понимаю, что файл заблокирован и т.п., но почему другие проги читают нормально размер?
|
|
|
5815
|
Qt / Общие вопросы / [Qt:4.2.3] Версия в exe
|
: Июнь 16, 2007, 14:44
|
1. Как указать другие параметры - создатель, компания, имя продукта и пр.
А чем вариант через rc-файл не устраивает? Внём все и указывется. А можно пример? добавлено спустя 2 минуты: А зачем мне делать инсталятор? Версия должна быть вшита в прогу, а не в него. Кстати, innosetup тоже хорошая вещь.
|
|
|
5816
|
Qt / Общие вопросы / [Qt:4.2.3] Версия в exe
|
: Июнь 15, 2007, 18:19
|
Ну наконец-то ответ!!! Я уже думал, что этот пост не закончится. Уже попробовал, все очень хорошо работает. Только теперь еще 2 вопроса по теме: 1. Как указать другие параметры - создатель, компания, имя продукта и пр. 2. Как в куте выловить из файла version-информацию, сегодня весь день в литературе прокопался. но не нашел.
|
|
|
5817
|
Qt / Печать / Re: [Qt:4.2.3]Печать с разбивкой по странично
|
: Июнь 14, 2007, 11:21
|
В QT ничего готового для этих целей пока не существует, правда есть примерчик ($QTDIR)/demos/textedit, в нем реализована функция Print Preview с последующим выводом на печать, думаю его можно доработать под твои нужды. QtextDocument прекрасно печатается, и сам разбивается на страницы (пробовал отправлять напрямую на принтер), то что в демке - это просто показ как он на принтер вылезет. Единственное, не вставляй дополнительные фреймы с большим количеством данных, они не пилятся и вся разбивка ломается, т.е. линия таблицы или буквы могёт идти прям по линии страницы Я и пользуюсь QtextDocument, загоняя в него html. Вопрос в другом: как узнать, что справка разрывается и перенести ее на другую страницу?
|
|
|
5818
|
Qt / Общие вопросы / [Qt:4.2.3] Версия в exe
|
: Июнь 13, 2007, 11:16
|
Если студией собираешь, там есть такое в настройках проекта. Собираю не студией, а QDevelop. Там я такого не нашел. Так как в ресурсах можно установить версию exe?
|
|
|
5819
|
Qt / Печать / [Qt:4.2.3]Печать с разбивкой по странично
|
: Июнь 13, 2007, 11:15
|
Есть OpenReport для этого, поищи в гугле. Я знаю про его существование, но пользоваться им не хочу, да и резона нет. Разве никто не может что-нибудь кроме этого посоветовать???
|
|
|
|
|