2017-08-11 50 views
1

我抄一個示例項目從GTK如何配置克利翁編譯gtkmm的項目

#include <gtkmm.h> 

int main(int argc, char *argv[]) 
{ 
    auto app = Gtk::Application::create(argc, argv, "org.gtkmm.examples.base"); 

    Gtk::Window window; 
    window.set_default_size(200, 200); 

    return app->run(window); 
} 

,並直接從終端編譯時,它工作得很好:

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

但是當我嘗試編譯使用克利翁它說

fatal error: gtkmm.h: No such file or directory 
#include <gtkmm.h> 

我的CMakeLists.txt看起來是這樣的:

cmake_minimum_required(VERSION 3.8) 
project(songbook) 

set(CMAKE_CXX_STANDARD 17) 

find_package(PkgConfig REQUIRED) 
pkg_check_modules(GTK3 REQUIRED gtk+-3.0) 

include_directories(${GTK3_INCLUDE_DIRS}) 
link_directories(${GTK3_LIBRARY_DIRS}) 

add_definitions(${GTK3_CFLAGS_OTHER}) 

set(SOURCE_FILES main.cpp) 
add_executable(songbook ${SOURCE_FILES}) 

target_link_libraries(songbook ${GTK3_LIBRARIES}) 

我在做什麼錯?

回答

1

謝謝https://github.com/DreaminginCodeZH/gtkmmproject!最終CMakeLists.txt:

cmake_minimum_required(VERSION 3.8) 
project(songbook) 

set(CMAKE_CXX_STANDARD 17) 
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 MainWindow.cpp MainWindow.h) 
add_executable(songbook ${SOURCE_FILES}) 
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})