Сборка отладчика GDB
Старая редакция статьи, новую можно найти здесь.
Отладчик GDB является важным инструментом среды разработки приложений
Qt. Без него Qt Creator, например, теряет большую часть своей
функциональности (остается, разве что, подсветка синтаксиса в редакторе
и контекстная справка). Вплоть до версии Qt Creator 2.4.1 отладчик
GDB устанавливался вместе с Qt Creator, равно как и компилятор MinGW.
Начиная с версии Qt Creator 2.5.0, отлачик GDB необходимо собирать
самостоятельно. Данная статья призвана оказать помощь в решении
этой проблемы. При ее подготовке использовался материал с ресурса
Wiki
от Nokia.
Далее для определенности будем полагать, что MinGW вместе с со
своей частью MSYS Basic System установлен
в папку C:\Qt\mingw. Отладчик будем собирать
в папке C:\Qt\pythongdb, промежуточные компоненты
в папке C:\Qt\build, а в качестве
каталога для временных файлов используем D:\TEMP.
Рассмотрим подробно порядок действий.
1) Загрузка python
Загружаем доступный для скачивания архив
python.zip,
распаковываем его содержимое в папку C:\Qt\build.
2) Сборка expat
Загружаем с ресурса
архив с исходным кодом (на момент написания статьи это expat-2.1.0.tar.gz
из папки 2.1.0/), распаковываем его содержимое
в папку D:\TEMP. Запускаем MinGW
Shell (см. группу ярлыков MinGW в меню Пуск или файл C:\Qt\mingw\msys\1.0\msys.bat)
и поочередно вводим команды
cd /d/TEMP/expat-2.1.0
configure --prefix=/c/Qt/build/expat --enable-static
make
make install
3) Сборка libiconv
Загружаем с ресурса
архив с исходным кодом (на момент написания статьи это libiconv-1.14.tar.gz),
распаковываем его содержимое в папку D:\TEMP.
Запускаем MinGW Shell и в открывшемся консольном
окне поочередно вводим команды, аналогичные п. 2)
cd /d/TEMP/libiconv-1.14
configure --prefix=/c/Qt/build/libiconv --enable-static
make
make install
4) Сборка GDB
Загружаем с ресурса
свежую версию архива с исходным кодом (на момент написания статьи
это gdb-7.4.tar.bz2), распаковываем его
содержимое в папку D:\TEMP. Запускаем MinGW
Shell и поочередно вводим команды
cd /d/TEMP/gdb-7.4
configure --target i686-pc-mingw32 --disable-nls --with-libiconv-prefix=/c/Qt/build/libiconv
--with-expat --with-libexpat-prefix=/c/Qt/build/expat --with-python
make LDFLAGS="-L/c/Qt/build/python/libs -lpthread -lpython27"
CFLAGS="-I/c/Qt/build/python/include"
Ключи в команде configure и параметры
в команде make следует вводить без перевода
строки. По окончании сборки должен появиться файл D:\TEMP\gdb-7.4\gdb\gdb.exe.
5) "Установка" отладчика
Собственно, все необходимое для работы отладчика
уже собрано. Дальнейшие действия можно интерпретировать как его
"установку", которая осуществляется вручную.
1. Создаем папку назначения C:\Qt\pythongdb.
2. Копируем в нее файл D:\TEMP\gdb-7.4\gdb\gdb.exe
и переименовываем его в gdb-i686-pc-mingw32.exe.
3. Копируем туда же папку
C:\Qt\build\python\lib (вместе
со всем содержимым)
и файлы
C:\Qt\build\expat\bin\libexpat-1.dll
C:\Qt\build\libiconv\bin\libiconv-2.dll
C:\Qt\build\python\python27.dll
Для того чтобы использовать отладчик в Qt Creator,
необходимо указать его в связке инструментов так, как описано в
статье.
При сборке GDB в команде configure
ключ --target указывает цель сборки i686-pc-mingw32
работа под управлением Windows. Обычно этого вполне достаточно.
Если есть желание, можно собрать и две другие цели arm-none-linux-gnueabi
и arm-none-symbianelf, повторив действия,
описанные в п. 4), и изменив соответствующим образом ключ --target
в команде configure. Перед сборкой каждой
новой цели необходимо выполнить команду очистки make
distclean в папке D:\TEMP\gdb-7.4,
или проще удалить эту папку и заново распаковать содержимое архива
gdb-7.4.tar.bz2 в папку D:\TEMP.
6) Очистка
Теперь можно удалить из каталога для временных файлов
следующие папки
D:\TEMP\expat-2.1.0
D:\TEMP\libiconv-1.14
D:\TEMP\gdb-7.4
Промежуточные компоненты из папки C:\Qt\build,
на Ваше усмотрение, можете удалить или сохранить их для использования
при последующих сборках, не забывая при этом отслеживать изменения
версий этих компонентов.
|