вторник, 14 июля 2009 г.

Контекстный хелп в Qt Creator

Не знаю, что происходит, но под линуксом то и дело перестает работать контекстный хелп. Т.е. запускаешь креатор, открываешь проект, находишь класс, тычешь F1, а оно- No documentation available. Еще вчера все работало, что за нафиг спрашивется? И, что характерно, под виндузями все работает как часы. После непродолжительного гугления выяснилось, что лечится это безобразие чисткой хелпового кэша.

Надо просто зайти в меню Tools->Options->Help, убить всю документацию и все фильтры, сказать Ok и перегрузить креатор. После этого, при старте, креатор заново зарегит все доки, и контекстный хелп будет снова работать. До следующего глюка, надо полагать.

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- кнопка появилась на тулбаре слева.