Этот вопрос, кажется, задавался миллион раз, но, к сожалению, ни один из ответов не помог мне.
Я считаю, что я правильно установил gtk. Моя среда pkg-config выглядит нормально. Я не так уверен в g cc. Я удалил все папки mingw и cygwin из своего окружения пути, поскольку буду использовать только пакеты msys2. Итак, у меня есть путь окружения следующим образом: -
GTK_LIB_DIR C: \ msys64 \ mingw64 \ lib
PKG_CONFIG_PATH C: \ msys64 \ mingw64 \ lib \ pkgconfig
Путь - C: \ msys64 \ usr \ bin; C: \ msys64 \ mingw64 \ bin;% GTK_LIB_DIR%
У меня проблема с компиляцией. Запуск этого ... g cc pkg-config --cflags gtk+-3.0
-o gtkTest C: \ dev \ test_gtk3. c pkg-config --libs gtk+-3.0
Я получаю ...
cc: error: `pkg-config: No such file or directory
gcc: error: gtk+-3.0`: No such file or directory
gcc: error: `pkg-config: No such file or directory
gcc: error: gtk+-3.0`: No such file or directory
gcc: error: unrecognized command line option '--cflags'
gcc: error: unrecognized command line option '--libs'
Я могу запустить следующие команды отдельно, с ожидаемыми результатами. например,
pkg-config --cflags gtk+-3.0
pkg-config --libs gtk+-3.0
gcc -o gtkTest C:\dev\test_gtk3.c
Конечно, последняя команда возвращает ошибку, поскольку на gtk нет ссылки. Я пробовал разные комбинации, некоторые свои. Некоторые рекомендуются, но одна ошибка сохраняется в pkg-config. например, C: \ WINDOWS \ system32> g cc -o gtkTest C: \ dev \ test_gtk3. c "pkg-config --cflags gtk + -3.0 pkg-config --libs gtk + - 3.0 "
gcc: error: pkg-config --cflags gtk+-3.0 pkg-config --libs gtk+-3.0: No such file or directory
Последний найденный мной ответ говорит " Если pkg-config сообщает, что не может найти пакет, значит, вы не установили пакет разработки Gtk, как предлагалось по вашему Linux дистрибутиву. "
Я использую Windows, но я думаю, что правильно установил gtk, так как я следовал инструкциям, и я получил то, что, как мне кажется, является ожидаемым результатом ( поправьте меня, если я ошибаюсь).
C: \ WINDOWS \ system32> pkg-config --cflags gtk + -3.0
-pthread -mms-bitfields -I/mingw64/include/gtk-3.0 -I/mingw64/include/cairo -I/m
ingw64/include -I/mingw64/include/pango-1.0 -I/mingw64/include/fribidi -I/mingw6
4/include -I/mingw64/include/atk-1.0 -I/mingw64/include/cairo -I/mingw64/include
/pixman-1 -I/mingw64/include -I/mingw64/include/freetype2 -I/mingw64/include -I/
mingw64/include/harfbuzz -I/mingw64/include -I/mingw64/include/libpng16 -I/mingw
64/include/gdk-pixbuf-2.0 -I/mingw64/include -I/mingw64/lib/libffi-3.2.1/include
-I/mingw64/include/glib-2.0 -I/mingw64/lib/glib-2.0/include -I/mingw64/include
C: \ WINDOWS \ system32> pkg-config --libs gtk + -3.0
-L/mingw64/lib -L/mingw64/lib/../lib -L/mingw64/lib -lgtk-3 -lgdk-3 -lz -lgdi32
-limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lep
oxy -lopengl32 -lgdi32 -lpangocairo-1.0 -lm -lgdi32 -lpangoft2-1.0 -lm -lpangowi
n32-1.0 -lm -lusp10 -lgdi32 -lpango-1.0 -lm -lfribidi -lthai -ldatrie -latk-1.0
-lcairo-gobject -lcairo -lz -lpixman-1 -lm -pthread -lfontconfig -liconv -lexpat
-lfreetype -lbz2 -lharfbuzz -lm -lusp10 -lgdi32 -lrpcrt4 -lgraphite2 -lpng16 -l
z -lgdk_pixbuf-2.0 -lm -lgio-2.0 -pthread -lintl -lshlwapi -ldnsapi -liphlpapi -
lws2_32 -lgmodule-2.0 -pthread -lintl -lz -lgobject-2.0 -pthread -lintl -lffi -l
glib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -pthread -lm -lpcre
C: \ WINDOWS \ system32> g cc -o gtkTest C: \ dev \ test_gtk3. c | pkg-config --cflags --libs gtk + -3.0
-pthread -mms-bitfields -I/mingw64/include/gtk-3.0 -I/mingw64/include/cairo -I/m
ingw64/include -I/mingw64/include/pango-1.0 -I/mingw64/include/fribidi -I/mingw6
4/include -I/mingw64/include/atk-1.0 -I/mingw64/include/cairo -I/mingw64/include
/pixman-1 -I/mingw64/include -I/mingw64/include/freetype2 -I/mingw64/include -I/
mingw64/include/harfbuzz -I/mingw64/include -I/mingw64/include/libpng16 -I/mingw
64/include/gdk-pixbuf-2.0 -I/mingw64/include -I/mingw64/lib/libffi-3.2.1/include
-I/mingw64/include/glib-2.0 -I/mingw64/lib/glib-2.0/include -I/mingw64/include
-L/mingw64/lib -L/mingw64/lib/../lib -L/mingw64/lib -lgtk-3 -lgdk-3 -lz -lgdi32
-limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lep
oxy -lopengl32 -lgdi32 -lpangocairo-1.0 -lm -lgdi32 -lpangoft2-1.0 -lm -lpangowi
n32-1.0 -lm -lusp10 -lgdi32 -lpango-1.0 -lm -lfribidi -lthai -ldatrie -latk-1.0
-lcairo-gobject -lcairo -lz -lpixman-1 -lm -pthread -lfontconfig -liconv -lexpat
-lfreetype -lbz2 -lharfbuzz -lm -lusp10 -lgdi32 -lrpcrt4 -lgraphite2 -lpng16 -l
z -lgdk_pixbuf-2.0 -lm -lgio-2.0 -pthread -lintl -lshlwapi -ldnsapi -liphlpapi -
lws2_32 -lgmodule-2.0 -pthread -lintl -lz -lgobject-2.0 -pthread -lintl -lffi -l
glib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -pthread -lm -lpcre
C:\dev\test_gtk3.c:1:10: fatal error: gtk/gtk.h: No such file or directory
1 | #include <gtk/gtk.h>
| ^~~~~~~~~~~
compilation terminated.
Кто-нибудь здесь боролся с этим часами, как и я, и наконец понял, в чем проблема. Пожалуйста, поделитесь своим решением. Спасибо.