Одна из самых интересных и полезных вещей в 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. Я отпишусь, как решить эту проблему.
вторник, 30 июня 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
Спасибо за блог. Надеюсь вы продолжите писать.
ОтветитьУдалитьИскал про Плагины к креатору а тут вы.
Хоть и общая информация, но всё-равно хорошо что есть.
Да не говорите, информация общая- дальше некуда. Самому стыдно. Надеюсь, что будет больше вглубь, чем вширь, вот только программить эти плагины надо начать...
ОтветитьУдалить