Сборка приложения GTK в Ada — GtkAda

#gtk3 #ada

#gtk3 #ada

Вопрос:

Я пытаюсь разработать в первый раз GTK application в Ada , с GtkAda помощью. Я установил его, и я смог создать Hello World приложение из шаблона «Простое окно», предложенного GPS .

Но, когда я хочу его запустить, я получаю всплывающее окно с ошибкой с этим сообщением:

«gdk_device_get_last_event_window» не удалось найти в DLL «[path_to_my_project]objmain.exe «.

Оно было связано со статической библиотекой. Если я попытаюсь установить связь с relocatable библиотекой (используя переменную сценария GPS LIBRARY_TYPE), я получу почти ту же ошибку:

«gdk_cairo_surface_create_from_pixbuf» […]

Эта вторая ошибка также появляется, если я пытаюсь запустить примеры приложений (testgtk.exe или test_rtree.exe ) из [gtkada_dir]shareexamplesgtkadatestgtk.

Итак, я что-то пропустил при установке GtkAda?

Я запускаю Windows 8.1 , я установил GtkAda в папку по умолчанию ( C:GtkAda — обратите внимание, что я пытался установить его в C:GNAT2016 тоже, но проблема та же).

Мой ПУТЬ включает в себя C:GtkAdabin;C:GtkAdalib , я добавил еще одну переменную среды ADA_PROJECT_PATH=C:GtkAdalibgnat .

Я установил Gnat с последней версии (20160515-49).

Есть идеи по запуску GtkAda приложений?

Спасибо за вашу помощь.

Ответ №1:

Это проще, если вы используете менеджер пакетов Alire, установите более новую GNAT studio из https://github.com/AdaCore/gnatstudio/releases (щелкните ссылку на ресурсы, чтобы загрузить установщики), а затем установите Alire с https://alire.ada.dev

После установки alire просто создайте новый проект с gtkada с помощью команд:

 alr init --bin holagtk
cd holagtk
alr with gtkada
alr run
  

Если вы хотите обновить старый проект до версии Alire, вы можете выполнить команды:

 cd oldgtkproject
alr init --in-place --no-skel --bin oldgtkproject
alr with gtkada
alr run
  

Возможно, вам потребуется немного отредактировать созданный проект

ВАЖНО: Пакет gtkada не работает, если ваш домашний путь пользователя или ваш проект содержит пробелы, убедитесь, что вы используете такие пути, как /home/user1, /opt /gnatstudio, /opt /alire и т.д.

Комментарии:

1. Спасибо @carlos-saltos за ответ на этот вопрос. Я изменил свои настройки и теперь запускаю Linux, поэтому я больше не буду пробовать GTK с Ada в Windows; но я посмотрю на Alire, это что-то новое для меня. Спасибо за совет!

Ответ №2:

Я считаю, что GtkAda лучше всего работает с GNAT в Windows при установке в каталог GNAT. В случае вашей установки это должно быть C:Gnat2016 . Также убедитесь, что вы добавили следующую строку в начало файла вашего проекта:

с помощью «gtkada»;

Комментарии:

1. Спасибо Джиму за ваши предложения. Я попытался установить GtkAda в C:GNAT2016 , но у меня возникла та же проблема. У меня уже было with "gtkada"; в файлах моего проекта.