Попытка скомпилировать файл Gui + Prolog C GTK с использованием GPLC. Я прочитал, что я могу передать несколько флагов к GCC компилятором из ГПЛК с помощью -C 'gcc flags here'
Компиляция GTK с GPLC
Ok, так что я могу comiple свой GUI в одиночку с
gcc foo.c `pkg-config --cflags --libs gtk+-2.0` -o $(NAME)
Однако это не будет работать в ГПЛК, потому что я бы
'`pkg-config --cflags --libs gtk+-2.0`'
Это означает, что я не получу ответ от pkg-config
, поскольку я ищу, потому что он находится внутри «строки». Как это исправить?
Наконец, если я что-то уродливое, как:
gplc -c foo1.c -C '-I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype'
gplc -c foo2.pl
gplc foo1.o foo2.o -o gyges
я получаю отказ компиляции во время связывания из-за все ссылки на функцию GTK будучи неопределенным. Почему?
Спасибо. Это решает мою первую проблему, но я до сих пор не могу ее связать, я попытался добавить библиотеки во время ссылки в различном порядке, но gplc отказывается их видеть, gcc не имеет этой проблемы. – Zeth
У вас есть редактирование, я никогда не использовал GPLC, но посмотрите, работает ли это –
. Это не сработало. Но я обнаружил проблему с чтением через gplc man. Чтобы передать параметры компилятору gcc, используется флаг '-C', и для перехода к компоновщику необходимо использовать флаг' -L'! Это была моя проблема, поэтому ваш make с -L во время компоновки и -C при компиляции .c заставляет его работать. – Zeth