windows+GTK4/3+Clion+msys2

Win11下Clion+MSYS2(MinGW64)配置C++编译环境 Win11/10:CLion配置C/C++编译环境 阅读详情


🔜底部锚点 ▼⬇️

前言

  • 在犹豫用什么框架写GUI时,考虑纵多,我决定用GTK4来在windows上开发GUI程序,
    原因是小巧,界面还可以. (受不了win32图形界面原生api的臃肿繁琐?)
  • 相关教程很少 于是我在这里整理一些要点细节记录一下

提示:以下是本篇文章正文内容,下面案例可供参考

Requirements

一、安装相关工具

  •   # gcc
      pacman -S mingw-w64-ucrt-x86_64-gcc
      # gtk  4
      pacman -S mingw-w64-x86_64-gtk4
      # gtk  3
      pacman -S mingw-w64-x86_64-gtk3
      # 工具链
      pacman -S mingw-w64-x86_64-toolchain base-devel 
    
  • gtk4或许依赖一些gtk3的库文件所以我都安装后再 pacman -R mingw-w64-x86_64-gtk3
    只安装gtk4时 CMakeLists.txt build 时报一些错误

二、配置环境变量

  • msys的路径
    主要是把msys下面的mingw64目录暴露出来,然后

  • 在这里插入图片描述

  • 注意顺序: 上面bin lib include 一定放在下面两个上面 不然后面用
    pkg-config --modversion gtk4 验证的时候:Package gtk4 was not found in the pkg-config search path.

  • 下面两个环境变量的配置是必要的吗? 待定…在这里插入图片描述

三、验证工具/模块

  •   # PowerShell下输入
      
      gcc --version 
      #gtk4 模块版本
      pkg-config --modversion gtk4
      #gtk3 
      pkg-config --modversion gtk+-3.0
      #gtk3/4 库文件 4改3
      pkg-config --cflags --libs gtk4 
      
      #demo
      gtk4-demo
      gtk3-demo
    

四、Clion Build工具集的配置

  • Ctrl+Alt+S show up the settings Window
    在这里插入图片描述

五、CMakeLists.txt文件的配置

  • gtk4 (ProjectName字段改成你的项目名)

    cmake_minimum_required(VERSION 3.2)
    project(SimpleCalculatorPro)
    
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    
    find_package(PkgConfig REQUIRED)
    
    pkg_check_modules(GTK4 REQUIRED gtk4)
    
    include_directories(${GTK4_INCLUDE_DIRS})
    link_directories(${GTK4_LIBRARY_DIRS})
    
    add_definitions(${GTK4_CFLAGS_OTHER})
    
    add_executable(ProjectName main.cpp)
    target_link_libraries(ProjectName ${GTK4_LIBRARIES})
    
  • gtk3 (ProjectName字段改成你的项目名)

      cmake_minimum_required(VERSION 3.2)
      project(SimpleCalculatorPro)
    
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    
      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})
    
      add_executable(ProjectName main.cpp)
      target_link_libraries(ProjectName ${GTK3_LIBRARIES})
    

六、简单窗口例子

  • #include <gtk/gtk.h>
    static
    void log_print()
    {
    
     g_print("this is a message\n");
    
    }
    static
    void activate (
     GtkApplication* app,
     gpointer  data
    )
    {
     GtkWidget* window;
     GtkWidget* button;
     window = gtk_application_window_new(app);
     button = gtk_button_new_with_label("hello world!");
     g_signal_connect(button, "clicked", G_CALLBACK(log_print), nullptr);
    
     gtk_window_set_default_size(GTK_WINDOW(window), 100, 300);
     gtk_window_set_title(GTK_WINDOW(window), "test");
     gtk_window_set_child(GTK_WINDOW(window), button);
     gtk_window_present(GTK_WINDOW(window));
    }
    int main(int argc,
          char** argv)
    {
     GtkApplication* app;
     int status;
     app = gtk_application_new("myapp.test.com", G_APPLICATION_DEFAULT_FLAGS);
     g_signal_connect(app, "activate", G_CALLBACK(activate), nullptr);
    
     status = g_application_run(G_APPLICATION(app), argc, argv);
     g_object_unref(app);
    
    }
    
    • 这是一个GTK4窗口
      在这里插入图片描述

七、Glade:GTK的GUI设计器

在这里插入图片描述

To be continue…


------------------------------------- ½§¦ ‹ ‹‹‹…‹ 这是分割线中的分隔区 ›…››› ›¦§½ ----------------------------------------


后记

我保留了GTK3模块,以防GTK4错误

Windows下搭建GTK3开发环境 本文记录了如何在Windows下一步一步搭建GTK3的开发环境。 阅读详情

相关推荐

Windows下GTK4安装部署 —— CLion

Ctrl+F全局搜索:msys2-x86_64-20220904.exe。下载MSYS2 (20220904版)系统: Windows 22H2。或先创建MSYS_PATH。

土豆~的博客 1061

Windows Rust GTK4安装配置

gtk4 安装过程记录,防踩坑

Lao_gan_ma的博客 2207

Windows平台MinGW-w64开发环境搭建与C/C++项目实战指南

在Windows平台上进行C/C++开发时,开发者常面临原生工具链与Unix生态的兼容性问题。GCC编译器及其工具链主要针对类Unix系统设计,直接移植到Windows会因API和运行库差异导致编译失败。MinGW-w64作为一套完整的工具链集合,其核心原理是在Windows原生环境下提供GCC编译器支持,允许开发者使用熟悉的gcc、g++命令生成原生Windows可执行文件,无需依赖POSIX模拟层。这一技术方案为跨平台开发提供了重要价值,既保留了GCC生态的便利性,又能产出高性能的Windows原生二进

weixin_30700099的博客 346

windows+GTK4_3+Clion+msys2

@目录????底部锚点 ▼⬇️前言Requirements一、安装相关工具二、配置环境变量三、验证工具/模块四、Clion Build工具集的配置五、CMakeLists.txt文件的配置六、简单窗口例子七、Glade:GTK的GUI设计器To be continue... ????底部锚点 ▼⬇️ 前言 在犹豫用什么框架写GUI时,考虑纵多,我决定用GTK4来在windows上开发GUI程序, 原因是小...

Computer_Tech的博客 1355

C语言图形界面开发:从Win32 API到GTK+的底层实现与跨平台实践

图形用户界面(GUI)是软件与用户交互的核心,其底层实现依赖于操作系统提供的图形子系统。理解GUI的工作原理,需要从事件驱动模型和消息循环机制切入,这是所有现代GUI框架的基石。在技术实现上,直接调用系统原生API(如Windows的Win32 API或Linux的Xlib)能提供极致的控制力和性能,尤其适合对执行效率、资源占用有严苛要求的场景,例如嵌入式设备或需要深度定制的应用。通过剖析Win32 API的窗口创建、消息处理与GDI绘制流程,开发者可以透彻掌握窗口管理、事件分发与图形渲染的核心原理。同时,

weixin_34082789的博客 340

24GHz雷达DIY呼吸监测仪:用树莓派+TI IWR6843搭建生命体征检测系统(附Python代码)

本文详细介绍了如何利用树莓派和TI IWR6843毫米波雷达模块DIY非接触式呼吸监测仪。通过硬件选型、信号处理流水线设计和实时可视化系统搭建,实现高精度的生命体征检测,特别适合医疗健康和运动监测场景。附带的Python代码帮助开发者快速复现该系统。

rl6adventurer的博客 984

Windows下搭建CLion + GTK3环境

第一部分:GTK安装 本文采用MSYS2的方式安装GTK,使用CLion IDE 安装MSYS2 下载地址:http://www.msys2.org/ 在MSYS2的命令行安装GTK和MinGW GTK 32位:pacman -S mingw-w64-i686-gtk3 64位:pacman -S mingw-w64-x86_64-gtk3 参考 &lt;https://w...

weixin_41708670的博客 1919

Ansys 19 Mechanical 流体密封分析

start point是一个特殊的概念,在仿真中ansys将从start point开始搜索会发生流体渗漏的点,可以简单理解为从start point开始,向四周逐个节点比较节点上的接触压紧力与流体压力,如果流体压力大于压紧力,则发生渗漏。事实上此处的最后一个参数是指定start point类型的,为1代表这是一个“open”的start point。在通常情况下,如果不人为指定start point,程序会自动寻找指定流体压力面的“边界”,对于二维情况,就是曲线的两个端点,对于三维情况就是曲面的边线。

Dio980的博客 1530

windows下CLion搭建gtk3开发环境

GTK的安装 本文采取Msys2安装gtk3的一些依赖(官网推荐) MSYS2下载地址:http://www.msys2.org/ 打开MSYS2 安装GTK 32位:pacman -S mingw-w64-i686-gtk3 64位:pacman -S mingw-w64-x86_64-gtk3 参考:https://www.cnblogs.com/yunfeng83/p/7348311.html 安装MinGW 32位:pacman -S mingw-w64-i686-too.

godaa的博客 1450

Zynq 双核AMP 通信

4、配置离线编译(这里不讲),配置linux的内核地址空间(0x4000_0000改为0x2000_0000),以及单核启动。CPU1设置为0x2000_0000~0x3FFF_FFFF(也可以小于0x3FFF_FFFF)如果禁用CPU1的L2 cache,在CPU1的bsp里面添加编译时候所需要的宏。3、配置工程,将vivado产生的.xsa文件复制到amp_com项目目录下。9、使用petalinux-package --boot 打包。一、vivado工程。5、编译u-boot。

y183128184的博客 1086

用Raspberry Pi Imager重装树莓派系统

这次在官网无意中看到他们出了一个Raspberry Pi Imager的工具,可以直接完成镜像烧录操作,于是就尝了个鲜。选择“编辑设置”按钮,会弹出具体的设置信息,有三个tab,第一个是General信息,包括用户名、密码、wifi和语言设置;后续的操作就和我当初第一次装树莓派系统的操作差不多,在此就不再赘述,有兴趣的朋友可以看我以前的博文。完成定制化设置后,点击“保存”按钮,软件回到前面的提示框,连续点击两个“是”,开始写入SD。第二个下拉框选择你要安装的OS,点击黄框所在的选项,可以挑选更多OS。

天飓的技术博客 1085

Windows下安装并使用 GTK4

文章目录Windows下安装并使用 GTK4第一步 安装Mingw第二步 安装GTK4第三步 使用GTK4 Windows下安装并使用 GTK4        前一段时间撰写了一篇关于如何在Ubuntu下安装GTK4的文章《Ubuntu20.04LTS(amd64) 下安装 GTK4》,现在介绍如何在Windows下安装并使用GTK4。 第一步 安装Mingw 1️⃣下载并安装mingw     &

从善若水的博客 8034

C# WinForm项目目录结构详解:从入门到精通(附常见问题解决方案)

本文详细解析了C# WinForm项目目录结构,从解决方案与项目基础结构到核心文件功能,再到关键目录解析,帮助开发者快速掌握WinForm项目组织方式。文章还提供了常见问题解决方案,如引用丢失、配置文件不生效等,是WinForm开发从入门到精通的实用指南。

dream的博客 647

windows下部署GTK环境

本文是CLion在Windows环境下配置GTK最详细的步骤,欢迎大家阅读。

墨城烟柳ベ旧人殇的博客 2252

SARscape的DInSAR全流程-以西安市隋大兴唐长安城遗址为例

通过DInSAR对西安市隋大兴唐长安城遗址开展的年度周期性监测,发现成因是地质内部构造断裂带活动所导致的地面产生物理空间上的形变,而地面的沉降与抬升是直接影响城市发展与文化遗产保护最为常见的缓变型不可逆地质灾害。西安市地处汾渭断陷盆地中部,受临潼-长安断裂带影响,导致区域内构造活动较为强烈。由于早年西安市地表水资源匮乏,从上世纪50年代末开始大量开采地下水资源以满足城市人口不断扩张的需求,从而导致地下承压含水层水位急速下降,形成多个局部沉降中心(八里村、西工大、电子城等)。

2301_77687129的博客 5810

Matlab结果性能评价---rms函数(计算矩阵、数组和向量元素均方根)

实例1:创建一个向量(正弦波)并计算其均方根值 实例2:创建一个二维矩阵并计算其均方根值 实例3:计算二维矩阵沿指定维度的均方根值 本例程配套完整源码下载 均方根(Root-Mean-Square Level): 向量x的均方根值为沿着指定的维度执行求和: 语法描述: y = rms(x)返回输入x的均方根值。如果x是行或列向量,y是实数值标量。对于大小尺寸大于1矩阵x,y包含沿x的第一个数组维度计算的均方根值。例如,如果x是N > 1的N*M矩阵,那么y是1*M行向量,对应x矩..

qq_32809093的博客 3万+

从零开始安装GTK3 遇到问题总结-windows

gtk3 安装及有关问题总结

Zansin的博客 1825

大模型产品Deepseek(七)、可视化本地知识库搭建详细教程(Cherry Studio)

Cherry Studio 为智能体的开发提供了一个强大的可视化平台,结合大模型和嵌入式知识库,它可以在多个应用场景中提供智能化的支持。如果你有进一步的需求或问题,可以继续在 Cherry Studio 中进行更多自定义配置,或者通过 API 调用集成到你的应用中。现在,知识库已经搭建并与 DeepSeek 模型连接好,接下来,我们将使用 Cherry Studio 提供的可视化界面进行智能提问。为了让智能体能够通过大模型查询到知识库中的信息,你需要为知识库配置索引和匹配模型。

xiaoqi270620903的专栏 1329

Windows下CLion配置GTK3开发环境:MSYS2与CMake实战指南

在Windows平台进行C/C++开发时,配置GUI库的编译环境常因工具链差异而变得复杂。以GTK3为例,其依赖MinGW-w64工具链,而MSYS2提供了完整的包管理和预编译库,能有效解决依赖问题。通过CMake集成pkg-config,可以自动获取GTK3的编译参数,实现跨平台构建。这种方案不仅适用于桌面应用开发,还能提升开发效率,减少环境配置的困扰。本文详细介绍了在CLion中结合MSYS2和CMake搭建GTK3开发环境的具体步骤,包括工具链绑定、pkg-config路径设置及常见问题排查,帮助开发

weixin_42529328的博客 272

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Windows下CLion+MSYS2搭建GTK3开发环境完整指南

跨平台GUI开发中,GTK3作为成熟的图形界面库,广泛应用于Linux桌面与嵌入式HMI场景。其核心原理是通过GLib、Pango、Cairo等组件构建原生界面,而MSYS2在Windows上提供了MinGW-w64工具链与预编译GTK3包,使开发者能在Windows本地编译调试,最终交付Linux目标。这种组合的技术价值在于兼顾开发效率与跨平台一致性,尤其适合嵌入式界面、工业上位机等场景。CLion凭借深度CMake集成与GDB调试前端,进一步提升了GTK3项目的编码与排错体验。本文围绕MSYS2环境选型

weixin_28693683的博客 257

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Windows下GTK3与CLion开发环境搭建实战指南

在Windows平台进行C/C++桌面开发时,图形界面库GTK3与IDE工具CLion的集成常因工具链配置复杂而受阻。其核心原理在于通过MSYS2提供MinGW-w64工具链与GTK3库,利用pkg-config机制向CMake传递编译参数,从而在CLion中实现代码补全、构建与调试。这一方案的技术价值在于兼顾原生Windows程序生成与跨平台代码兼容性,适用于开发轻量级桌面工具、本地数据管理界面等场景。掌握pkg-config与CMake的衔接逻辑,能有效解决头文件缺失、链接错误等高频问题,让GTK3在W

weixin_28839439的博客 286

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Gtkmm4 + CLion的配置

我看好gtkmm4 我要去补习一些c++的语法来学习如何使用gtkmm4c++这个硬骨头很难啃🔜顶部锚点 ▲前言🔜顶部锚点 ▲。

Computer_Tech的博客 1992

GTK4开发环境搭建全指南:Linux/Windows/macOS跨平台配置与避坑实战

图形界面开发中,工具包的选取与环境的搭建直接影响项目推进效率。GTK4作为Linux桌面应用主流工具包,凭借GPU渲染、新控件体系及跨平台能力,成为C、C++、Python开发者构建原生应用的重要选择。然而,从GTK3迁移到GTK4,API重构、构建系统切换(Meson/Ninja)、依赖管理(pkg-config)以及libadwaita主题集成,都让环境配置变得复杂。无论你是在Ubuntu、Fedora、Arch等Linux发行版,还是通过MSYS2在Windows下,或是用Homebrew在macOS

weixin_42557803的博客 176

固态、机械双硬盘+UEFI、APT+Win10、Ubuntu18.04LTS双系统+GTX 1080Ti+Cuda9.0+cudnn7.1.4+Tensorflow1.12

固态、机械双硬盘+UEFI、APT+Win10、Ubuntu18.04LTS双系统+GTX 1080i+Cuda9.0+cudnn7.1.4+Tensorflow1.121、在Win10上装Ubuntu18.04LTS双系统2、在Ubuntu18.04LTS上面配置开发环境3、安装tensowflow3.1 准备工作3.2 安装显卡驱动3.3 安装cuda3.4 安装cudnn3.5 安装open...

朱晓海的博客 3055

Fira Code 编程合字字体技术全解:从合字原理、兼容性矩阵到本地构建参数详解

本文以 Fira Code 官方日文文档([README_JA.md](https://link.gitcode.com/i/7401a53d5fe703d720dac1db98fa2aa1))为主体,完整覆盖其问题定义、合字机制、字体功能(cv/ss 变体、样式集、进度条字形)、编辑器与终端兼容性矩阵、浏览器 CSS 接入方式,并结合当前仓库源码(`script/` 构建脚本、`features

gitblog_01057的博客 387

Fira Code 编程连字等宽字体:功能全景、兼容矩阵与本地定制构建实战

本文以 Fira Code 仓库中的葡萄牙语版说明文档 [LEIAME.md](https://link.gitcode.com/i/b6ae453c76498662cc5e7e25af1f9085) 为主体,完整还原该字体“问题—方案—特性—兼容性—本地构建”的完整技术脉络,并结合仓库内的构建脚本([script/build.sh](https://link.gitcode.com/i/e762

gitblog_01068的博客 1039
上一篇: c语言指针
下一篇: CLion代码自动美化插件工具
Computer_Tech
博客等级 码龄3年 573粉丝 49原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值