Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.216.229] |
|
Сообщ.
#1
,
|
|
|
Установил msys2 на диск C, затем с помощью pacman установил поддержку GTK. В настройках тестового проекта указал директории с включаемыми файлами и библиотеками. Получаю очень много ошибок (синтаксические ошибки и отсутствие переменных в списке формальных параметров) . Подскажите, пожалуйста, как нужно правильно настроить проект для создания GTK-приложений. Лет 5 назад этот проект компилировался, но с какой-то другой библиотекой GTK, уже не помню какой. Проект прикрепил.
Прикреплённый файлvsGtkStudy.zip (3,34 Кбайт, скачиваний: 39) |
Сообщ.
#2
,
|
|
|
Starostin, немного маловато инфы - в какой среде собираешь и чем компилируешь. (Упс - невнимательно прочел тему )
Судя по содержимому архива - видать студией и мелкомягким компилятором. Давай по порядку: Прикреплённая картинка
Как видишь - собралось. С либой GTK я не работал, поэтому сперва поставил GTK-4, но потом посмотрел по коду, погуглил - вижу функции GTK-3. Поставил нужные мне пакеты: pacman -S mingw32/mingw-w64-i686-gtk3 pacman -S mingw64/mingw-w64-x86_64-gtk3 pacman -S glib2-devel Но я пользуюсь компиляторами GCC из комплекта mingw32. Если ты пользуешь мелкомяккий компилятор, то тебе нужно устанавливать другие тулчейны и либы, а именно: pacman -S clang32/mingw-w64-clang-i686-gtk3 pacman -S clang64/mingw-w64-clang-x86_64-gtk3 pacman -S glib2-devel Я не помню под какую студию там собрано, вроде под 2019 (ADD: да, уточнил - 2019) Второй шаг. Для работы я пользую QtCreator и его систему сборки qmake. Для сборки этой программы я создал файл проекта TestGTK.pro следующего содержания: TEMPLATE = app CONFIG += c++17 CONFIG += link_pkgconfig CONFIG -= app_bundle CONFIG -= qt PKGCONFIG += glib-2.0 harfbuzz cairo pango gtk+-3.0 SOURCES += \ main.cpp В нем важная строка, которая начинается с "PKGCONFIG". Этой настройкой я указал системе сборки задействовать утилиту pkg-config, которая сама бегает по своим файлам и выясняет необходимые зависимости библиотек проекта: какие заголовочные файлы использовать, какие либы линковать. Осталось только в коде указать вместо относительного пути - абсолютный к файлу "window_main.glade". Ну, собственно, проект собрался и успешно запустился. Как в 32-битной, так и в 64-битной версии. Если нужна помощь как такое провернуть в студии - увы, не ко мне. Но вопросы задавай. Многие форумчане пользуют именно студию, уверен, помогут. |
Сообщ.
#3
,
|
|
|
Спасибо большое за ответ! Меня интересуют кроссплатформенные решения. Как я понимаю, VS2022 - не кроссплаформенный. Я раньше слышал про QTCreator и думал, что он может использоваться только с QT и не может использоваться с GTK. И о нем ничего не читал. Видимо, я сильно ошибся. Можете поделиться проектом, который Вы создали, для изучения возможностей QTCreator как кроссплатформенного средства?
|
Сообщ.
#4
,
|
|
|
Цитата tumanovalex @ Как я понимаю, VS2022 - не кроссплаформенный Как кросс-платформенная среда разработки - скорее нет. Я не встречал студию под другие платформы, отличные от виндовс. Хотя время идет, могу ошибаться. А вот как среда для кросс-платформенной разработки - вполне может быть. Там наверняка можно подключать другие тулчейны, отличные от родных. Уточни у форумчан. Цитата tumanovalex @ Можете поделиться проектом, который Вы создали, для изучения возможностей QTCreator как кроссплатформенного средства? Да там всего два файла, второй уже есть в моем ответе выше. Но не вопрос, присоединю архив. Скрытый текст И это, давай на "ты" Прикреплённый файлTestGTK.7z (866 байт, скачиваний: 42) |
Сообщ.
#5
,
|
|
|
Спасибо! А почему ты выбрал QTCreator? Инструментов много (Visual Studio Code, NetBeans и другие). Вопрос задаю не просто так. Сейчас выбираю инструмент для кроссплатформенного программирования на С++. Интересует именно IDE, которая может запускаться в различных ОС. Я запутался в выборе, поэтому в первую очередь и обратил внимание на VS, в котором программировал на C и C#. Нужен совет опытных программистов (себя программистом не считаю, я не профессиональный программист, программирование для меня давнее увлечение).
|
Сообщ.
#6
,
|
|
|
Цитата tumanovalex @ Спасибо! А почему ты выбрал QTCreator? Вижуал студией, да и вообще мелкомягкими изделиями я не пользовался. Сначала плотно сидел на Borland C++ Builder, потом нужно было перескочить на что-то из разряда LGPL*, да еще и с полноценной современной STL. Заинтересовался Qt, ну а QtCreator - в нем родная среда разработки. Посмотрев настройки QtCreator'а, меня порадовала система настроек, особенно тулчейнов. Ну вот так и залип на этот QtCreator. Однако, к последнее время, все чаще задумываюсь перейти и для C/С++ на VSCodium. Но там сложнее - нужно потратить время, и с помощью дополнений запилить под себя удобное окружение. А в QtCreator'е - сразу все "из коробки". |
Сообщ.
#7
,
|
|
|
Спасибо за ответ. Попробую установить и поработать QT. А там видно будет.
Добавлено Поработать пока не получилось - при попытки установить с помощью файла qt-unified-windows-x64-4.4.1-online.exe получил сообщение: "Installation from this IP address is not allowed". Включили санкции? Добавлено Я использовал обходной маневр, инсталляция началась, но потом получил сообщения, что инсталляция прервана. Это наводит на мысль, что QT в любой момент может для России обрубить концы. Лучше я попробую что-нибудь другое. |
Сообщ.
#8
,
|
|
|
Цитата tumanovalex @ "Installation from this IP address is not allowed". Включили санкции? Да, это санкции. Цитата tumanovalex @ при попытки установить с помощью файла qt-unified-windows-x64-4.4.1-online.exe Я последний раз под винду ставил вот отсюда: https://download.qt.io/official_releases/qt...ator/8.0/8.0.1/ и выбирал qt-creator-opensource-windows-x86_64-8.0.1.exe. Просто хотелось последнюю версию QtCreator'а. Да, из за санкций пришлось искать работающий (увы - платный) прокси-сервер и в установщике его прописывать. Но тебе можно поступить проще. Поставь без заморочек просто из MSYS2. Установится версия QtCreator'а что-то вроде 7.*. Вообще молча установится, без каких-либо траблов: pacman -S mingw64/mingw-w64-x86_64-qt-creator Для начала работы - хватит выше крыши. |
Сообщ.
#9
,
|
|
|
Я попробовал использовать рекомендуемый на gtk.org https://github.com/wingtk/gvsbuild. Все установилось без проблем, в директории C:\gtk-build\ появились заголовочные файлы, библиотеки и все нужное. Правда, я думал, что после этого в Visual Studio 2022 появится возможность выбрать проект GTK (т.е., как я понимаю, появится шаблон для GTK приложения). К сожалению, при создании нового проекта шаблона GTK+ не появилось. Может быть кто-нибудь подскажет, как настроить студию, чтобы такой шаблон был? Или нужно в консольном (пустом) приложении настраивать его параметры и указывать нужные пути?
|