У меня есть к вам вопрос новичка: я пытаюсь заставить Gtk работать с CLion в среде windows.
Я прошел через это: https://wiki.gnome.org/Projects/gtkmm/MSWindows несколько раз (чтобы подтвердить, что я сделал это правильно), добавил несколько вещей в настройки моей системы PATH, а также попытался манипулировать файлами CMakeLists.txt в CLion, и он, похоже, не может найти библиотека. Я был на stackoverflow, излагая свою проблему различными способами и пробуя несколько решений, но пока не повезло.
Возможно ли использование заголовков gtk в CLion?
Я получаю следующую ошибку попытка запустить программу с заголовками gtkmm: фатальная ошибка: gtkmm / application.h: нет такого файла или каталога
Мой CMakeLists.txt выглядит следующим образом:
cmake_minimum_required(VERSION 3.14)
project(Kmeans)
set(CMAKE_CXX_STANDARD 14)
set(PKG_CONFIG_EXECUTABLE "/usr/bin/pkg-config")
add_executable(Kmeans main.cpp)
find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-3.0)
include_directories(${GTKMM_INCLUDE_DIRS})
link_directories(${GTKMM_LIBRARY_DIRS})
set(SOURCE_FILES main.cpp)
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})
Что обычно происходит я получаю сообщение об ошибке:
Ошибка CMake в C: / Program Files / JetBrains / CLion 2018.3.4 / bin / cmake / win / share / cmake-3.14 / Modules /FindPkgConfig.cmake:510 (сообщение):
- Не удалось найти PkgConfig (отсутствует: PKG_CONFIG_EXECUTABLE) Инструмент pkg-config не найден
Изменить, чтобы отразить комментарии и дальнейшие усилия:
Я запустил pacman -S pkg-config, как подсказывает страница вики, и я вижу pkg-config в моей папке C: \ msys64 \ var \ lib \ pacman \ local. Внутри инструментария в CLion среда - MinGW, а CMake предназначен для автоматического определения компилятора, который находится в MINGW \ mingw32 \ bin \ g ++. Exe.
Я также подтвердил, что мой исполняемый файл находится в usr / bin / pkg-config с использованием терминала Cygwin и добавление набора (PKG_CONFIG_EXECUTABLE "/ usr / bin / pkg-config") в мой файл cmake после получения ответа от @Isuru Walpola здесь: https://askubuntu.com/questions/717302/cmake-could-not-find-pkgconfig-missing-pkg-config-executable
К сожалению, я все еще получаю то же сообщение об ошибке.
Кроме того, я попытался полностью переустановить CLion, а также переключил мою среду на Cygwin, используя его установочный файл для установки любой библиотеки / документа / Средства разработки, ссылающиеся на gtk3 (и ниже), которые я смог найти. CLion также предварительно заполняет имена для этого, когда я начинаю печатать операторы #include <>, однако они не обнаруживаются, как только пишется полный оператор включения.
Я больше не получаю pkg-config обнаружена ошибка, но вместо этого CLion не может найти эти конкретные библиотеки GTK и заголовочные файлы.
Мой CMakeLists.txt теперь выглядит следующим образом. Есть некоторые дубликаты и неиспользуемые строки, которые я включил для тестирования, так как я не совсем понимаю некоторые команды.
cmake_minimum_required(VERSION 3.14)
project(ProjectKMeans)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_CXX_STANDARD 14)
set(PKG_CONFIG_PATH /usr/lib/pkgconfig)
set(PKG_CONFIG_EXECUTABLE /usr/bin/pkg-config.exe)
add_executable(ProjectKMeans main.cpp)
find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-3.0)
pkg_check_modules(gtk gtkmm-3.0)
PKG_CHECK_MODULES(GTK GTK)
ADD_DEFINITIONS(${GTKMM_CFLAGS_OTHER})
include_directories(${GTKMM_INCLUDE_DIRS})
link_directories(${GTKMM_LIBRARY_DIRS})
set(SOURCE_FILES main.cpp)
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})
Я думаю, что проблема в том, что GTKMM не распознается. Я не понимаю это соглашение об именах. Ни у одной из библиотек нет этого имени, о котором я знаю. Чего мне не хватает?