Использование GTK + без MSYS2 - PullRequest
0 голосов
/ 26 января 2019

Уважаемые программисты и разработчики,

Я очень хочу попробовать GTK + 3 на Windows. Поэтому я прочитал официальные объяснения по загрузке GTK + на https://www.gtk.org/download/windows.php и установил все с MSYS2.

Теперь у меня много файлов в подкаталоге mingw64 в папке MSYS2.

Вопрос: как мне правильно включить их все? Как мне связать GTK + со всеми его зависимостями? Я знаю, что есть магический атрибут pkg-config для компилятора Linux C / C ++, но, к сожалению, я действительно не заинтересован в компиляции моих проектов в MSYS2. Я готов использовать простой компилятор MinGW (64).

Кто-нибудь может мне помочь, используя файлы .a, .h и .dll'a, сгенерированные MSYS2 с помощью простого 64-битного компилятора MinGW для тупого проекта C ++?

Это сделало бы меня чрезвычайно счастливым!

Дарт Мун

€ edit: на самом деле я скачал скомпилированную версию GTK + с https://www.dropbox.com/sh/8d1qbh5dsp044on/AAB63l5I1eZks-QqjH6HXUJHa. К сожалению, она 32-битная, но я скоро попробую скомпилировать весь проект GTK + на себя, как этот парень на https://github.com/Wesley-Chan/GTK-for-Windows сделал.

Но если у кого-нибудь есть идеи, как плавно собрать GTK + под Windows (особенно для 64-битной), пожалуйста, дайте мне знать! Мне очень понравился пример приложения GTK +, и я действительно хочу сделать свои собственные!

1 Ответ

0 голосов
/ 30 января 2019

Мне удалось успешно скомпилировать программу GTK3 в 64-битной оболочке MinGW из MSYS2.Сначала я установил пакет GTK3:

pacman -S $MINGW_PACKAGE_PREFIX-gtk3

Затем я скомпилировал первый пример программы из этой страницы , используя следующую команду:

gcc test_gtk.c $(pkg-config gtk+-3.0 --cflags --libs)

Затем я запустил ./a.exe и он создал окно.

Если вы получаете ошибки компоновщика с «неопределенной ссылкой», это означает, что ваш Makefile не связывает вашу программу со всеми правильными библиотеками, или порядок входных данных с компоновщикомнеправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...