Gtk
终于考完了,期末考9科实在是太折磨了;发现自己很久没写文章了,上次更新还在去年,最近都在探索gtk, 就顺便写一篇记录下成果。
工具 gtk主要参考的就是官方的API reference,目前支持gtk3-4(我想也没人会去用gtk3以前的版本)的内容;其中包含 一个Widget Gallery,里面有所有当前版本的控件介绍和API。
官方的文档我认为还是很详细的,但有时候不清楚怎么使用时也还是需要去搜索用例,官方的文档一般不包含示例
IDE 和gtk有关的ide我目前找到的是Gnome Builder,介绍说是Gnome环境下的开发工具;我曾经用它编写过一些小 项目,但我认为它的补全和插件都不够完善,所以转而使用Vscode。
真要说起来,gtk的编写应该只需要一个文本编辑器,gtk4的大部分函数名都比较好记,这方面IDE也只是方便补全一些变量和函数名,提供高亮支持
构建工具 和上文说的一样,你可以选择不使用任何构建工具,使用pkg-config查找依赖和cflags后手动编译;但这样太过原始了,也不方便调试
Meson Meson是gnome项目主要的编译工具,Gnome Builder也会默认安装此工具,它基于一个简单的构建配置生成build.ninja,有点像Cmake和Makefile。
此外,在build目录下会生成compile_commands.json,clangd可以根据此文件提供高亮和补全支持;Meson还支持增量编译,比直接重新编译更快。
Meson的文档中就包含构建gtk的示例,用dependency提供名称,Meson就能自动查找并引入依赖