Ошибка сборки gtkmm при использовании автоинструментов

Я начал изучать программирование на gtkmm, но застрял на первом этапе. Я использую GNOME Builder IDE и Ubuntu 17.10 64bit.

У Gnome есть хорошее руководство по gtkmm, но сборка кода возвращает ошибку в сборщике!

Проблема:
Согласно учебнику, исходный код должен быть скомпилирован g++, в то время как сборщик использует gcc, так как имя файла main.c,

mohammad@Artful-K43SD:~/Projects/test/src$ g++ main.c -o simple `pkg-config gtkmm-3.0 --cflags --libs` -no-pie
mohammad@Artful-K43SD:~/Projects/test/src$ gcc main.c -o simple `pkg-config gtkmm-3.0 --cflags --libs` -no-pie
In file included from /usr/include/glibmm-2.4/glibmm/ustring.h:21:0,
                 from /usr/include/glibmm-2.4/glibmm/exception.h:22,
                 from /usr/include/glibmm-2.4/glibmm/error.h:22,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:47,
                 from /usr/include/glibmm-2.4/glibmm.h:88,
                 from /usr/include/gtkmm-3.0/gtkmm.h:87,
                 from main.c:1:
/usr/include/glibmm-2.4/glibmm/unicode.h:26:10: fatal error: cctype: No such file or directory
 #include <cctype>
          ^~~~~~~~
compilation terminated.

make V=0 -j4 all
make  all-recursive
make[1]: Entering directory '/home/mohammad/.cache/gnome-builder/builds/test/default-local-host'
Making all in data
make[2]: Entering directory '/home/mohammad/.cache/gnome-builder/builds/test/default-local-host/data'
make[2]: Leaving directory '/home/mohammad/.cache/gnome-builder/builds/test/default-local-host/data'
Making all in src
make[2]: Entering directory '/home/mohammad/.cache/gnome-builder/builds/test/default-local-host/src'
  CC       test-main.o
In file included from /usr/include/glibmm-2.4/glibmm/ustring.h:21:0,
                 from /usr/include/glibmm-2.4/glibmm/exception.h:22,
                 from /usr/include/glibmm-2.4/glibmm/error.h:22,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:47,
                 from /usr/include/glibmm-2.4/glibmm.h:88,
                 from /usr/include/gtkmm-3.0/gtkmm.h:87,
                 from /home/mohammad/Projects/test/src/main.c:1:
/usr/include/glibmm-2.4/glibmm/unicode.h:26:10: fatal error: cctype: No such file or directory
 #include <cctype>
          ^~~~~~~~
compilation terminated.
make[2]: *** [test-main.o] Error 1
Makefile:481: recipe for target 'test-main.o' failed
make[1]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/mohammad/.cache/gnome-builder/builds/test/default-local-host/src'
make: *** [all] Error 2
Makefile:477: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/home/mohammad/.cache/gnome-builder/builds/test/default-local-host'
Makefile:409: recipe for target 'all' failed

Я просто хочу сказать автоинструментам использовать g ++ для .c файлы вместо gcc. попытался отредактировать configure.ac файл в папке проекта, но мне не удалось! Makefile генерируется компоновщиком, и если я добавлю .cpp файл для проекта, make-файл не будет обновляться!

Можно ли кодировать gtkmm в строителе?

0 ответов

Другие вопросы по тегам