#c #windows #gtk #glade
Подскажите, что я делаю не так.
Скачал MSYS2, из него поставил Glade и GTK+. Сами GTK+ и Glade по отдельности работают,
но при попытке загрузить в программу форму из
.glade файла возникает ошибка, в описании которой написано:
form.glade: required gtk+ version 3.20, current version is 2.24
На сайте GTK+ написано, что сделать, чтобы использовать GTK+ и Glade из-под Windows:
https://www.gtk.org/download/windows.php
Я делаю все в точности, как там написано, но... Установленный таким образом GTK+
имеет слишком низкую версию, чтобы работать с установленным таким способом Glade?
Хотя, если посмотреть через MSYS2, то становится ясно, что установленный GTK+ имеет
версию 3.22...
И если посмотреть настройки проекта в Glade, то окажется, что проект требует GTK+
версии 3.20...
Безумие...
Ответы
Ответ 1
Итак, мне удалось побороть эту ситуацию эвристическим методом научного тыка. Каюсь, мои претензии к официальному туториалу GTK+ и MSYS2 оказались ничем не обоснованы. MSYS2 ставит абсолютно корректные и согласованные пакеты вместе со всеми зависимостями. Проблема заключалась в том, что шаблон проекта в Code::Blocks для GTK+ устарел и создает проект GTK+ 2.0 Для того, чтобы создать проект GTK+ 3.0 можно обойтись и стандартным шаблоном Консольное приложение C/C++. Далее, для того, чтобы проект понял, что значит: #includeВ Build options проекта нужно задать пару флагов. Compiler settings->Other compiler options: `pkg-config gtk+-3.0 --cflags` Linker settings->Other linker options: `pkg-config gtk+-3.0 --libs` Если честно, я имею только общие представления, что делают эти флаги. Поделитесь, кто на опыте. Самое приятное, что для компиляции проекта используется MinGW-64, устанавливающийся вместе с GTK+, Glade и всем остальным. Поэтому, достаточно указать только пути к компилятору, настроить toolchain и все. Никаких плясок с десятками путей к GTK+ и переменными окружения не нужно.
Комментариев нет:
Отправить комментарий