微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

glibmm.h:找不到这样的目录或文件

如何解决glibmm.h:找不到这样的目录或文件

我想将gtk包含到我的新cmake项目中。但是在编译时,出现此错误:+

In file included from /home/chhu/CLionProjects/MasterMind/main.cpp:2:
/usr/include/gtkmm-3.0/gtkmm.h:87: Fatal error: glibmm.h: Could not find such directory or file

这是我的cmake文件

cmake_minimum_required(VERSION 3.17)
project(MasterMind)
set(CMAKE_CXX_STANDARD 14)

# Use the package PkgConfig to detect GTK+ headers/library files
FIND_PACKAGE(PkgConfig required)
PKG_CHECK_MODULES(GTK3 required gtk+-3.0)

# Setup CMake to use GTK+,tell the compiler where to look for headers
# and to the linker where to look for libraries
INCLUDE_DIRECTORIES(${GTK3_INCLUDE_Dirs})
LINK_DIRECTORIES(${GTK3_LIBRARY_Dirs})

# Add other flags to the compiler
ADD_DEFinitioNS(${GTK3_CFLAGS_OTHER})

add_executable(MasterMind main.cpp)

# Link the target to the GTK+ libraries
TARGET_LINK_LIBRARIES(MasterMind ${GTK3_LIBRARIES})

这是我的课程:

#include <gtkmm-3.0/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);
}

我正在Ubuntu 20.4下进行开发。我的g ++版本是9.3.0。

解决方法

Gtkmm不是Gtk的一部分。您应该更新您的CMakeLists

PKG_CHECK_MODULES(GTKMM3 REQUIRED gtkmm-3.0)
INCLUDE_DIRECTORIES(${GTKMM3_INCLUDE_DIRS})
LINK_DIRECTORIES(${GTKMM3_LIBRARY_DIRS})

ADD_DEFINITIONS(${GTKMM3_CFLAGS_OTHER})

TARGET_LINK_LIBRARIES(MasterMind ${GTKMM3_LIBRARIES})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。