Не знаю, что происходит, но под линуксом то и дело перестает работать контекстный хелп. Т.е. запускаешь креатор, открываешь проект, находишь класс, тычешь F1, а оно- No documentation available. Еще вчера все работало, что за нафиг спрашивется? И, что характерно, под виндузями все работает как часы. После непродолжительного гугления выяснилось, что лечится это безобразие чисткой хелпового кэша.
Надо просто зайти в меню Tools->Options->Help, убить всю документацию и все фильтры, сказать Ok и перегрузить креатор. После этого, при старте, креатор заново зарегит все доки, и контекстный хелп будет снова работать. До следующего глюка, надо полагать.
вторник, 14 июля 2009 г.
Qt Creator 1.2.1
QtCreator проапгрейдился до версии 1.2.1. Основные исправления- багфиксы в интерфейсе отладчиков. Полный список исправлений- на оффсайте.
пятница, 3 июля 2009 г.
Сборка плагинов под Windows или Пере(на)стройка Qt под MSVC
В предыдущем посте я писал, что под виндовс, если собрать плагин под MinGW(GCC), он не будет виден в Qt Creator. После беглового поиска на www.qtsoftware.com, выяснилось, что проблема существовала и в предыдущих версиях. Проблема, как я и предполагал в том, что Qt Creator собран в MSVC, а библиотека Qt поставляется сконфигурированной под MinGW, и, при компиляции и линковке Qt Creator автоматически использует GCC. Не знаю, какой в этом смысл, но так оно устроено. Отмечу, что Qt Creator будет прекрасно вызывать компилятор и линкер из набора MSVC, если конечно Qt собрана в MSVC.
Решить проблему с разработкой плагинов можно двояко- или пересобрать Qt Creator под MinGW, или перенастроить Qt под MSVC. У каждого свои предпочтения, противники мелкомягких вполне могут выбрать первый способ. Мне же до лампочки, чем компилять (лишь бы прога работала), поэтому я решил пере(на)строить Qt. В качестве стороннего комментария, замечу, что сравнительного анализа MinGW и MSVC я не делал. Если меня убедят, что MinGW круче, и что Qt Creator будет работать быстрее/стабильней, тогда я под ним Qt Creator и пересоберу. А так- от добра добра не ищут.
Вот тут можно найти самую общую инфу, как работать с Qt под Visual Studio: Compiler Notes. Коротко, новостей для меня две- MSVC 2008 поддерживается, а компилировать предлагается из коммандной строки. Это потому, что Qt не интегрируется с Express Edition, но вот компилится нормально. А нам того и надо.
Не знаю, позволяет ли майкрософт скачать только MSVC компилятор без всей среды, я такого не нашел. Буду благодарен, если кто подкинет ссылочку. Бесплатная же Visual Studio Express Edition устанавливается отсюда.
Пара слов до того, как начнем перестраивать ту Qt, которая есть в SDK вместе с Qt Creator. Такое впечатление, что Qt Creator, хоть и получил поддержку CDB в версии 1.2.0, но пока не очень стабильно работает с этим отладчиком. Так что, поскольку я собираюсь не только плагины рисовать, но и просто прожки отлаживать, я решил поставить вторую библиотеку Qt 4.5.2, в дополнение к той, которая уже сконфигурирована под MinGW.
Поскольку еще один Qt Creator нам не нужен, придется скачать Qt Framework, который содержит только саму библиотеку и тулзы. Во время инсталляции придется также устанавить новую (или указать уже установленную) версию MinGW, иначе это вызовет ошибки инструмента configure позже. Я устанавливал Qt Framework в c:\Qt\4.5.2. Можно устанавливать куда угодно, главное чтобы путь не содержал пробелов.
Перенастраиваем Qt из MS Visual Command Prompt:
cd c:\Qt\4.5.2\
configure -no-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit
Затем пересобираем:
nmake
Замечу, что configure занял порядка 15 минут на моей машине, а вот nmake- почти 2 часа.
Добавляем пересобранную Qt в Qt Creator (Options -> Qt4), и делаем ее default:

Все! Собираем плагин HelloWorld, копируем в папку плагинов, перегружаем Qt Creator- кнопка появилась на тулбаре слева.
Решить проблему с разработкой плагинов можно двояко- или пересобрать Qt Creator под MinGW, или перенастроить Qt под MSVC. У каждого свои предпочтения, противники мелкомягких вполне могут выбрать первый способ. Мне же до лампочки, чем компилять (лишь бы прога работала), поэтому я решил пере(на)строить Qt. В качестве стороннего комментария, замечу, что сравнительного анализа MinGW и MSVC я не делал. Если меня убедят, что MinGW круче, и что Qt Creator будет работать быстрее/стабильней, тогда я под ним Qt Creator и пересоберу. А так- от добра добра не ищут.
Вот тут можно найти самую общую инфу, как работать с Qt под Visual Studio: Compiler Notes. Коротко, новостей для меня две- MSVC 2008 поддерживается, а компилировать предлагается из коммандной строки. Это потому, что Qt не интегрируется с Express Edition, но вот компилится нормально. А нам того и надо.
Не знаю, позволяет ли майкрософт скачать только MSVC компилятор без всей среды, я такого не нашел. Буду благодарен, если кто подкинет ссылочку. Бесплатная же Visual Studio Express Edition устанавливается отсюда.
Пара слов до того, как начнем перестраивать ту Qt, которая есть в SDK вместе с Qt Creator. Такое впечатление, что Qt Creator, хоть и получил поддержку CDB в версии 1.2.0, но пока не очень стабильно работает с этим отладчиком. Так что, поскольку я собираюсь не только плагины рисовать, но и просто прожки отлаживать, я решил поставить вторую библиотеку Qt 4.5.2, в дополнение к той, которая уже сконфигурирована под MinGW.
Поскольку еще один Qt Creator нам не нужен, придется скачать Qt Framework, который содержит только саму библиотеку и тулзы. Во время инсталляции придется также устанавить новую (или указать уже установленную) версию MinGW, иначе это вызовет ошибки инструмента configure позже. Я устанавливал Qt Framework в c:\Qt\4.5.2. Можно устанавливать куда угодно, главное чтобы путь не содержал пробелов.
Перенастраиваем Qt из MS Visual Command Prompt:
cd c:\Qt\4.5.2\
configure -no-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit
Затем пересобираем:
nmake
Замечу, что configure занял порядка 15 минут на моей машине, а вот nmake- почти 2 часа.
Добавляем пересобранную Qt в Qt Creator (Options -> Qt4), и делаем ее default:
Все! Собираем плагин HelloWorld, копируем в папку плагинов, перегружаем Qt Creator- кнопка появилась на тулбаре слева.
вторник, 30 июня 2009 г.
Сборка плагинов
Одна из самых интересных и полезных вещей в Qt Creator- это возможность его расширения с помощью плагинов. Тролли пока не дают никакой документации, как их писать, или что там за API, зато примеров хватает. Найти примеры можно в исходниках Qt Creator. Я распаковал все исходники прямо в директорию SDK (у меня- Qt/2009.03/), поэтому исходники оказались в Qt/2009.03/qt-creator-1.2.0-src/, хотя наверняка разницы нет, куда распаковывать. Все пути ниже даны относительно директории исходного кода.
Для начала, соберем и установим плагин HelloWorld (src/plugins/helloworld/), в API будем копаться позже.
Открываем проект helloworld.pro, собираем, и... видим, что не линкуется. Не хватает библиотек Aggregation, ExtensionSystem и Utils. Эти библиотеки находятся в src/libs/ в директориях aggregation/, extensionsystem/ и utils/ соответственно, их проекты надо открыть и собрать. Также, для сборки нашего плагина нужна библиотека libCored, поэтому придется собрать и coreplugin (src/plugins/coreplugin/). Можно, конечно, собирать каждый проект по отдельности, но есть путь и проще- и открыть их все, а на экране Projects установить зависимости. Так, HelloWorld зависит от CorePlugin, а CorePlugin- от библиотек Aggregation, ExtensionSystem и Utils.

Затем говорим- Build->Build Project helloworld, он теперь должен слинковаться. Все новые библиотеки должны появиться в lib/qtcreator/, а плагины- в lib/qtcreator/plugins/Nokia.
Осталось только перенести наш плагин в QtCreator и запустить. Плагины лежат в директории Qt/2009.03/lib/qtcreator/plugins/Nokia, сюда надо скопировать только файлы HelloWorld- HelloWorld.pluginspec и libHelloWorld.so (.dll для виндовс). Перегружаем Qt Creator и видим новую кнопку Hello Wolrd! на тулбаре слева:

Если нажать на нее, все рабочее пространство будет занято кнопкой Hello World Push Button.
Но, в виндовс новый плагин не распознается. Такое впечатление, что Qt Creator для виндовс был собран MSVC, и методы из моего плагина просто не видны, потому что он слинкован в MinGW. Я отпишусь, как решить эту проблему.
Для начала, соберем и установим плагин HelloWorld (src/plugins/helloworld/), в API будем копаться позже.
Открываем проект helloworld.pro, собираем, и... видим, что не линкуется. Не хватает библиотек Aggregation, ExtensionSystem и Utils. Эти библиотеки находятся в src/libs/ в директориях aggregation/, extensionsystem/ и utils/ соответственно, их проекты надо открыть и собрать. Также, для сборки нашего плагина нужна библиотека libCored, поэтому придется собрать и coreplugin (src/plugins/coreplugin/). Можно, конечно, собирать каждый проект по отдельности, но есть путь и проще- и открыть их все, а на экране Projects установить зависимости. Так, HelloWorld зависит от CorePlugin, а CorePlugin- от библиотек Aggregation, ExtensionSystem и Utils.

Затем говорим- Build->Build Project helloworld, он теперь должен слинковаться. Все новые библиотеки должны появиться в lib/qtcreator/, а плагины- в lib/qtcreator/plugins/Nokia.
Осталось только перенести наш плагин в QtCreator и запустить. Плагины лежат в директории Qt/2009.03/lib/qtcreator/plugins/Nokia, сюда надо скопировать только файлы HelloWorld- HelloWorld.pluginspec и libHelloWorld.so (.dll для виндовс). Перегружаем Qt Creator и видим новую кнопку Hello Wolrd! на тулбаре слева:

Если нажать на нее, все рабочее пространство будет занято кнопкой Hello World Push Button.
Но, в виндовс новый плагин не распознается. Такое впечатление, что Qt Creator для виндовс был собран MSVC, и методы из моего плагина просто не видны, потому что он слинкован в MinGW. Я отпишусь, как решить эту проблему.
воскресенье, 28 июня 2009 г.
Зависимости в примерах 1.2.0
Версия 1.2.0 поставляется с большим количеством примеров, я их решил посмотреть. Начал с System Tray Example (под линуксом). Сразу, конечно, не собралось, потому что не нашлись библиотеки:
FreeType нашелся здесь: /qtsdk-2009.03/qt/src/3rdparty/freetype
Собираем стандартно:
./configure
make
sudo make install
Gobject, SM, XRender, FontConfig, Xext надо уставновить:
sudo apt-get install libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev
Все собралось, приложение сворачивается в трей вместо закрытия.
P.S. Под виндовс все собирается за шесть секунд. Никаких проблем с библиотеками.
- freetype (FreeType 2)
- gobject-2.0 (GLib 2.0)
- SM
- Xrender
- fontconfig
- Xext
FreeType нашелся здесь: /qtsdk-2009.03/qt/src/3rdparty/freetype
Собираем стандартно:
./configure
make
sudo make install
Gobject, SM, XRender, FontConfig, Xext надо уставновить:
sudo apt-get install libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev
Все собралось, приложение сворачивается в трей вместо закрытия.
P.S. Под виндовс все собирается за шесть секунд. Никаких проблем с библиотеками.
Подписаться на:
Комментарии (Atom)
