Моя проблема кажется довольно простой: я хотел бы иметь возможность создать простую программу с простым графическим интерфейсом для окон в C (и, если возможно, в окнах). Мое текущее окружение - это eclipse IDE, msys2 с toolchain mingw64 на окнах 10. Я хотел бы использовать pkg-config с eclipse, чтобы избежать «жесткого кодирования» всех моих библиотек, и для этого я сначала попробовал плагин pkg-config для eclipse (он падает, когда я создаю новый проект, исключение null-указателя). Затем я попытался вставить команду pkg-config в вызов GCC. Для этого мне пришлось использовать powershell, потому что cmd этого не допускает. Но даже в powershell я не могу использовать его, потому что строка, которую возвращает pkg-config, рассматривается gcc как команда. Вот что затмение использует для компиляции:Кодирование простого графического интерфейса GTK на окнах в C с eclipse
powershell gcc -O0 -g3 -Wall -c -fmessage-length=0 --std=c99 $(pkg-config-win --cflags --libs gtk+-3.0) -o main.o "..\\main.c"
И вот что она возвращает меня:
gcc.exe: error: unrecognized command line option '-mms-bitfields -pthread -mms-bitfields -IC:/msys64/mingw64/include/gtk-3.0 [...]'
Затем я попытался удалить --cflags из PKG-конфигурации: команды, используемое затмение :
powershell gcc $(pkg-config-win --libs gtk+-3.0) -o Test.exe main.o -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -lwinmm -ldwmapi -lz -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
И вот результат (8 раз в той же строке).
gcc.exe: error: .0: No such file or directory
Я пробовал десятки разных вещей, но никто из них не работает.
Так что мои основные вопросы:
- Есть простой способ решить эту проблему?
- Я делаю правильные вещи (это затмение, чтобы сделать такие вещи?)
- Если нет, что мне делать? (Изменить IDE? Изменить библиотеку графического интерфейса, ...)
Я надеюсь, что вы сможете мне помочь, я очень открыт о возможностях, которые вы могли бы дать. Пожалуйста, простите меня, если я не ясно, по некоторым пунктам или не дают достаточно информации, я отвечу как можно скорее на вопросы: р
Это звучит как-то причиняет весь ' pkg-config', который рассматривается как один длинный аргумент вместо нескольких аргументов, разделенных пробелами. Я не уверен, что в этом есть проблема ... что-то в Eclipse? – andlabs
Я не знаю, действительно ли это связано с затмением. Вот команда, введенная в powershell: gcc -O0 -g3 -Wall -c -fmessage-length = 0 -std = c99 $ (p .o ".. \\ main.c" И вот результат: gcc.exe: ошибка: непризнанная опция командной строки '-mms-bitfields -pthread [...]' Итак, кажется, что затмение передает команды на консоль и возвращает ответ на дисплей. – DrCampy
это проблема PowerShell? Почему PowerShell рассматривает замену '$ (...)' как единственного аргумента? – andlabs