如何配置Clion编译gtkmm项目

2023-11-23

我从 GTK 复制了一个示例项目

#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`

但是当我尝试使用 Clion 进行编译时,它说

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})

我究竟做错了什么?


解决了感谢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})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何配置Clion编译gtkmm项目 的相关文章

  • 递归显式模板实例化以导出库的符号

    在我之前的问题中我问过递归显式模板实例化是否可能 https stackoverflow com questions 7395113 is recursive explicit template instantiation possible
  • C++ 编译器可以对结构中的元素重新排序吗

    C 编译器 特别是 g 可以对结构体的内部元素重新排序吗 我看到一些奇怪的行为 其中我有一个包含如下内容的结构 Struct SomeStruct long someLong long someLongArray 25 unsigned l
  • ctypes.ArgumentError:不知道如何转换参数

    我在C库中定义了一个函数 如下所示 int Test char str1 int id1 char str2 float val float ls 我想在Python中使用它 所以我编写了以下Python代码 str1 a str2 b i
  • C# 从整数反序列化枚举

    是否可以从 C 中的 int 反序列化枚举 例如如果我有以下课程 class Employee public string Name get set public int EmployeeTypeID get set 我可以轻松地从 XML
  • 如何使用 Regsvr32 注册 .NET COM DLL?

    我有一个使用 COM DLL 的 VB6 应用程序 该DLL是用C 编写的 在 C 项目属性中 我检查了 Register for COM interop 选项 VB6 应用程序在我的开发机器上运行良好 C 代码完全遵循以下格式 CodeP
  • flowlayoutpanel和水平滚动条问题

    我正在使用一个 flowlayoutpanel 它有很多逻辑上的按钮 我遇到的问题是 当我调整窗口大小时 当窗口变小时 我无法看到所有水平排列的按钮 相反 当窗口变小时 按钮会下降到下一行 谁能帮我解决这个问题 我只是希望按钮水平排列 当窗
  • 在 C++ 中从另一个数组初始化结构内的数组[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions struc
  • 可以轻易移动,但不可轻易复制

    是否可以创建类类型 即 普通移动构造 但不是普通复制构造 但仍然可复制构造 普通复制构造 但不是普通移动构造 但仍然可移动构造 可以简单地复制分配 但不能简单地移动分配 但仍然可以移动分配 可以简单地移动分配 但不能简单地复制分配 但仍然可
  • WPF 中可选择的 TextBlock 或带有格式化文本的 TextBox

    我遇到一种情况 我需要显示格式化文本 正常 粗体 突出显示 并且还应该是可选择的 以便用户可以复制文本 我使用了文本块 我可以使用内联内容流元素应用多种格式 但不幸的是它的文本不可选择 虽然文本框允许选择文本并复制到剪贴板 但它不允许我设置
  • DLR 返回类型

    我需要 DLR 的帮助 我正在实现 IDynamicMetaObjectProvider 和 DynamicMetaObject 但在获取预期返回类型时遇到一些问题 我在元对象中覆盖 BindInvokeMember 我可以看到所有参数类型
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • 需要帮助将 winform 迁移到 net 5

    我正在将 winform 应用程序从 net core 3 1 移植到 net 5 并收到以下错误 严重性代码 说明 项目文件行抑制状态 错误NETSDK1136 目标平台必须设置为Windows 通常 通过在 TargetFramewor
  • 将控制台输入和输出重定向到文本框

    您好 提前致谢 我正在尝试 非常努力 将控制台输入和输出重定向到文本框 到目前为止 输出工作正常 但问题在于输入 例如 我无法执行一个简单的程序来执行以下操作 Console WriteLine 请输入您的姓名 字符串名称 Console
  • 变形:Opencv 使用 Visual Studio 将图像显示到曲面屏幕

    我正在尝试使用 opencv API 来扭曲图像 以便将其显示到曲面屏幕上 我已经浏览了opencv中提供的翘曲apihere http docs opencv org 2 4 modules stitching doc warpers h
  • OpenCV:处理每一帧

    我想使用 OpenCV 编写一个跨平台应用程序进行视频捕获 在所有示例中 我发现来自相机的帧是使用抓取功能进行处理并等待一段时间 我想处理序列中的每一帧 我想定义自己的回调函数 每次当一个新帧准备好处理时都会执行该函数 例如直播对于 Win
  • 如何在 OpenCV 中删除 mouseCallback

    在使用 C 的 OpenCV 中 有没有办法删除 mouseHandler int event int x int y int flags void param 通过函数添加到窗口 image window cv setMouseCallb
  • 实例着色器矩阵的设置

    我想绘制实例立方体 我可以打电话GL DrawArraysInstanced PrimitiveType Triangles 0 36 2 成功地 我的问题是所有立方体都绘制在相同的位置和相同的旋转 我如何为每个立方体单独更改它 要创建不同
  • 隐式类型转换 - 编译器错误

    这个问题与this https stackoverflow com questions 3529449 can i make the ternary operator treat my class like a bool问题 下面的代码在V
  • 为 winforms ComboBox 中的单个项目着色?

    我遇到了一个困境 我有一个表单 其中包含许多组合框 其中包含在某些情况下可能无效 过时的信息 选项 项目 我不能简单地从项目中删除过时的信息 但我确实想在选项无效时为用户提供视觉线索 我正在考虑对项目进行着色 可能是红色 来指示它们是否无效
  • In 和 Out 属性在 .NET 中如何工作?

    我一直在尝试跨序列化数组AppDomain边界 使用以下代码 public int Read byte buffer int offset int count return base Read buffer offset count 作为猜

随机推荐

  • 如何在 WPF 中使所有屏幕区域变暗并使打开的窗口发光?

    在 WPF 中 如何在打开新窗口时使所有屏幕区域变暗 另外 窗口关闭后 如何恢复临时效果 这是我的版本 如果您想要变灰并模糊父窗口 private void btnOpenSettings Click object sender Route
  • 基于下拉列表显示/隐藏文本框

    例如我有一个代码
  • CUDA 内核的即时 (jit) 编译可能吗?

    CUDA 是否支持 CUDA 内核的 JIT 编译 我知道 OpenCL 提供了这个功能 我有一些变量在运行时不会更改 即仅取决于输入文件 因此我想在内核编译时 即在运行时 使用宏定义这些值 如果我在编译时手动定义这些值 我的寄存器使用量将
  • 将遗留代码库从 cvs 转移到分布式存储库(例如 git 或 Mercurial)。初始存储库设计所需的建议[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 简介和背景 我们正在更改源代码控制系统 目前正在评估 git 和 Mercurial 总代码库大约有 600 万行代码 所以不算大 也不算小 首先让我简单介绍一下当前存储库设计的外观 我们
  • npm 错误! EPERM:不允许操作,scandir

    我们的部署过程使用 Jenkins 但有时我们的构建会失败 并显示以下内容 我们正在使用npm版本 6 7 0 任何帮助将不胜感激 我认为问题是另一个进程正在利用该文件夹所以它被锁定了 也许是以前的版本 我会尝试以下方法来解决您的问题 尝试
  • 如何在 HoneyComb 中获取可用屏幕高度减去导航栏?

    有没有办法测量底部导航栏的高度 以像素为单位 顺便说一句 对于像我这样偶然发现这个问题并寻找实际数字的人来说 它是 48 像素 至少在摩托罗拉 Xoom 上 这是基于此 诚然是粗略的 测试活动的调试输出 结合没有标题栏的主题 例如 andr
  • 如何用组件替换字符串(vue)

    我有包含以下内容的字符串 我用数组值替换 现在我想将它们与组件一起使用 我创建了该组件并且它可以工作 但我不知道如何在字符串中使用它 我不想手动包装它们 因为我不知道字符串将如何 它可以有几个 如果有 2 选项将有 2 个子数组 更好的方法
  • 标头中定义的 C++ 类方法是否始终内联?

    Edit 我已经恢复了原始标题 但我真正应该问的是 C 链接器如何处理已在多个对象文件中定义的类方法 假设我在标头中定义了一个 C 类 如下所示 class Klass int Obnoxiously Large Method many t
  • 增强现实框架[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我计划为 Android 手机开发一个增强现实应用程序 有谁知道是否有任何现有的增强现 实框架可用于此类应用程序 对于想法 您可以查看以下内容 现有应用程序及其 API Androi
  • 如何在conf.py中为sphinx设置自定义配置值? (例如,对于 sphinx.ext.ifconfig)

    经过更多测试和研究 我将原来的问题分成了两个 我在 conf py 中定义了自己的配置值 并编写了一个最小扩展名以使其在第一个文件中可见 在conf py中 sys path insert 0 os path abspath extensi
  • 如何使用 PHP Serialize() 和 Unserialize()

    我的问题非常基本 我没有找到任何例子来满足我的需求到底是什么serialize and unserialize 在php中的意思是 他们只是给出了一个例子 序列化一个数组并以无法解释的格式显示输出 通过他们的行话很难理解基本概念 EDIT
  • 用于识别主要基类的类型特征

    如果我有一个 Base 类 至少有一个虚函数 以及一个从该类单独继承的 Derived 类 那么 uintptr t derived uintptr t static cast
  • 使用 asp 页面 TagHelper 时链接不呈现

    我有一个页面在使用时不呈现 HTML 中的链接asp page标签助手 我以前见过这个 但这是由于拼写错误或页面不存在造成的 在下面的 Layout 中的两个链接中 用户渲染为http localhost ReportGroups Admi
  • Facebook SDK:页面选项卡应用程序返回在移动 Facebook 应用程序中找不到

    我有一个 Facebook 页面选项卡应用程序 使用时间轴 它在桌面版 Facebook 中运行良好 但当在 Facebook 应用程序中单击其 Wall Post 时 它会返回 找不到您请求的页面 并转发到无法访问的链接 https m
  • 如何禁用单行的操作列项?

    考虑这个 JSON 示例 id 1 editable true id 2 editable false 这些记录将被加载到商店中 然后显示在网格面板内 该网格有一个用于编辑目的的操作列项目 我正在寻找一种方法 仅禁用第二行的 编辑 按钮 而
  • javascript 使用 setTimeout() 超时/睡眠

    如何设置 2 秒超时来等待页面控件填充 我想使用 javascript 我已尝试以下但无济于事 setTimeout function 2000 setTimeout 2000 有谁能提供指点吗 setTimeout function pu
  • 在 PHP 中生成 OAuth 1 签名

    我正在尝试连接到LivePerson 参与历史 API我遇到了一个我认为与生成的签名有关的问题 首先 API 已经提供了必要的消费者密钥 消费者秘密 访问令牌和令牌秘密 所以我不必经历检索这些的过程 为了访问他们的 API 我只需要提供 a
  • 实体类名转换为带下划线的SQL表名

    我定义了以下实体 Entity Table name EmailTemplate public class EmailTemplate 尽管有表格注释 我还是收到了java sql SQLException Invalid object n
  • 如果镜像输入数据,XSL 文档会是什么样子?

    XSL 的典型用法是 XML1 xml gt transformed using xsl gt XML2 xml 如果我想简单地镜像输入数据 XSL 文档是什么样子的 ex XML1 xml gt transformed using xsl
  • 如何配置Clion编译gtkmm项目

    我从 GTK 复制了一个示例项目 include