Я не могу заставить gtkmm скомпилировать на Ma c с помощью CMake - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь настроить среду, в которой я могу использовать gtkmm для разработки на C ++. Мой файл CMakeLists.txt выглядит следующим образом:

cmake_minimum_required(VERSION 3.0.2)
project(program)

find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-3.0)

link_directories(${GTKMM_LIBRARY_DIRS})
include_directories(include ${GTKMM_INCLUDE_DIRS})

file(GLOB SOURCES "*.cpp")

add_executable(program ${SOURCES})

target_link_libraries(program ${GTKMM_LIBRARIES})

Тем не менее, когда я пытаюсь включить строку include <gtkmm.h> в основной, я сталкиваюсь с этой ошибкой из CMake:

fatal error: 'gtkmm.h' file not found
#include <gtkmm.h>

I установил gtkmm с brew, используя команды brew install gtkmm и brew install gtkmm3, чтобы гарантировать, что версии не были проблемой Что я могу сделать, чтобы заставить это работать?

1 Ответ

3 голосов
/ 31 марта 2020

Обязательно установите pkg-config (используя brew).

Вот файл CMakeLists.txt, который будет работать:

cmake_minimum_required(VERSION 3.16)

project(program LANGUAGES CXX)

find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-3.0)

add_executable(program)

target_compile_features(program PRIVATE cxx_std_17)

target_sources(program PRIVATE main.cpp)

target_include_directories(program PRIVATE ${GTKMM_INCLUDE_DIRS})

target_link_directories(program PRIVATE ${GTKMM_LIBRARY_DIRS})

target_link_libraries(program PRIVATE ${GTKMM_LIBRARIES})
...