Показаны сообщения с ярлыком Qt. Показать все сообщения
Показаны сообщения с ярлыком Qt. Показать все сообщения

вторник, 1 февраля 2011 г.

Qt - qDelphi?

На сайте F1-Delphi (в заголовке которого написано, что "В основу сайта, в первую очередь, положена необходимая информация для программирования на Delphi и Pascal...") опубликована книга QT 4: программирование GUI на С++
Ничего не обычного, просто хороший ман по C++ и Qt. Забавно, что на сайте Delphi. =)

P.S.: Несмотря ни на что, я продолжаю считать Qt достойной заменой Delphi, если вас не пугает переход с Pascal на C++.

понедельник, 29 ноября 2010 г.

Qt-эпос ч.4 (финал)

В предыдущих сериях: пытаемся собрать проект при помощи Qt так, чтобы он запускался без дополнительных библиотек.
Как вы уже понимаете, у меня все получилось, а вот вам пример: Qt-static-test.zip
Просто окно с пустой панелькой. EXE-шник сжат UPX-ом и должен запускаться у всех.

пятница, 26 ноября 2010 г.

Qt-эпос ч.3.1

Краткое содержание предыдущих серий: пытаемся поставить Qt Creator (и всю начинку), а рядышком поставить Qt и пересобрать его в static.

Успешно собрался отдельный статический Qt для компиляции статических проектов. Так же легко оказалось добавить его в профили компиляции в Qt Creator. Кстати, MinGW  отдельно ставить не надо, Qt успешно использует существующий (путь спросит при установке).

Не удивительно, что простейший EXEшник весит около 8 метров. Там же все графические библиотеки и прочее. По сравнению с тем же .NET это очень мало.

Есть куча способов "обезжирить" проект на Qt и этим, возможно нужно будет заняться.

UPD.: Тот же UPX сжимает файл вдвое на минимальном уровне компрессии. Уже неплохо.

UPD.2: Продолжение...

четверг, 25 ноября 2010 г.

Qt-эпос ч.3

Краткое содержание предыдущих серий: успешно скомпилили Qt в static и теперь пытаемся скомпилить в Qt проект в static.

При попытке скомпилить в новом Qt проект, оно ругается:

/mingw32/bin/ld.exe: cannot find -lQtGuid
Выяснилось, что если qt собран с опцией release, то и проект надо собирать только в release.

В таком случае проект собирается нормально, но при этом при запуске требует libgcc_s_dw2-1.dll
Решение этой проблемы нашлось там же, где и предыдущей:
QMAKE_LFLAGS *= -static-libgcc
Эту опцию можно добавить в файл проекта или в mkspecs/win32-g++/qmake.conf, если вы не хотите добавлять ее в каждый проект.

То-есть пока это почти win, но не совсем, так как исчез режим отладки.

Теперь задача-минимум поставить чистый Qt Creator для девелопмента, отдельно поставить Qt и собрать его в static, а в creator добавить профиль сборки в static, чтобы при необходимости можно было собирать такие проекты.

UPD.: Продолжение...

Qt-эпос ч.2

Краткое содержание предыдущих серий: пытаюсь собрать qt, чтобы тот собирал мне проект в static.

Попытка обойтись без извращений со static и подложить скомпилированному экзешнику требуемую mingwm10.dll привела к тому, что экзешник возжелал стать владычицей морскою и затребовал еще ворох библиотек. Причем на очередной из них, эта переборчивая скотина начала плеваться на точку входа и отказываться сотрудничать.

Пришлось тяжело вздохнуть, закатать рукава, натереть глаза луком и продолжить негуманные опыты со сборкой.

Сначала я всё удалил, потом это же всё поставил заново. Вторая попытка увенчалась успехом, несмотря на то, что исходные данные были почти такие же, как и в первый раз. Кроме того, что я добавил в path путь к cygwin (он у меня всегда стоит на всякий случай) и добавил путь к папке %path_qt%/bin

Несмотря на то, что отконфигурилось и собралось оно вполне успешно, работать оно от этого не начало.

Вот, сейчас тупо собираю еще раз с теми же условиями. Исходя из принципа "может, со второго раза дойдет". Если не поможет, попробую качать и ставить Qt Creator кусками. Отдельно creator, отдельно qt, отдельно мухи с котлетами.

UPD.: Продолжение...

вторник, 23 ноября 2010 г.

Qt-эпос

Мои мучения с Visual Studio 2003/2008 привели меня к Qt Creator. Наверное, я еще недостаточно профессионал.

0. Скачать

Скачать эту IDE (и всякую начинку в комплекте) можно на официальном сайте: http://qt.nokia.com/

1. Установить

Ставится оно в один присест, запускается с полпинка и сразу работает и даже компилирует программу с пустым окошком (ну или с кнопочками). Вообщем работает.

2. Использовать

Первая фигня, с которой я столкнулся это сломал полмозга пытаясь добавить кнопочку на панель кнопок (QToolBar). Справка упорно твердила мне, что надо "Tools - ActionEditor". В меню "Инструменты" ничего даже близко похожего не находилось.
Через усиленное битье головой об монитор я его нашел, а сейчас покажу вам:
Дальше дело пошло на лад...

3. Static или mingwm10.dll

После того, как кнопочка была успешно "заборена", мне показалось, что было бы хорошо, если бы скомпилированный exe-файл перестал бы, наконец, требовать mingwm10.dll для запуска.
Это оказалось просто, но были и подводные камни.
Хороший ман о том, как это можно сделать лежит тут: http://www.qtcentre.org/wiki/index.php?title=Building_static_Qt_on_Windows
Но в мане почему-то не сказано, что для того, чтобы утилита configure перестала ругаться:
execute: File or path is not found (mingw32-make)
Cleaning qmake failed, return code -1
Необходимо:
  1. прописать в переменную path путь: %path_qt%\qt\bin\
  2. прописать в path путь: %path_qt%\mingw\bin
где %path_qt% - папка, куда вы поставили Qt

Ну, и к тому же перед сборкой оно пишет, что:
WARNING: Using static linking will disable the use of plugins.
         Make sure you compile ALL needed modules into the library.
Еще не знаю что за плагины оно мне отключило, потому не слишком беспокоюсь.
Собирается оно приличное время, и зачем-то цепляет мои папки "Program Files\Visual Studio". Вот, все еще собирается, посмотрим чем это закончится...

UPD.: Продолжение...