Ошибка: ошибка компиляции GTKMM 3.0 - PullRequest
0 голосов
/ 25 августа 2018

У меня есть эта ошибка при компиляции моего первого проекта gtkmm.

gtkmmgui.cpp:2:10: fatal error: gtkmm-3.0: No such file or directory

Я также попробовал это:

g++ gtkmmgui.cpp `pkg-config --cflags --libs gtkmm3.0`

, но все равно не работает.

Это из-за неправильного каталога #include?

Источник:

#include <iostream>
#include <gtkmm-3.0>

int main() {
    Gtk::Main kit(argc, argv);
    Gtk::Window window;
    Gtk::Window::run(window)
    return 0;
}

1 Ответ

0 голосов
/ 25 августа 2018

В вашем источнике не должно быть ничего похожего на

#include "gtkmm-3.0"

.

Обычно все включения выглядят следующим образом:

#include <gtkmm/application.h>
#include <gtkmm/window.h>

Здесь вы также должны указать свой исходный код, потому что ошибка что-то есть!Но, пожалуйста, уменьшите его до минимума, чтобы мы могли увидеть вашу проблему.Пожалуйста, никогда не публикуйте весь свой код, который не связан с проблемой, которую вы просите.

Вы также можете проверить правильность вашей конфигурации gtkmm, просто посмотрев на ваш вывод pkg-config команда.Просто введите его в командной строке:

> pkg-config gtkmm-3.0 --cflags

Это должно быть что-то вроде:

-I/usr/include/gtkmm-3.0 -I/usr/lib64/gtkmm-3.0/include < a lot more >

РЕДАКТИРОВАТЬ: ваш пример кода разбит на очень много частей!Пожалуйста, прочтите руководство по gtkmm!

Следующие работы:

#include <gtkmm/window.h>
#include <gtkmm/main.h>


int main(int argc, char *argv[]) {
    Gtk::Main kit(argc, argv);
    Gtk::Window window;
    kit.run(window);
    return 0;
}

скомпилированы и связаны с:

g++ `pkg-config gtkmm-3.0 --cflags --libs` main.cpp
...