【发布时间】:2026-01-20 14:10:01
【问题描述】:
我在尝试将pond 使用的go-gtk fork 中的GTK3 支持与基于GTK2 的上游go-gtk 合并时遇到了一个小的hiccup。
这些指定 GTK 版本的 cgo pkg-config 行必须 afaik 出现在每个文件中,这样可以防止 GTK 2 和 3 共有的绑定存在于一个公共文件中。
我想构建针对多个 GTK 版本编译文件的“惯用”技巧是:将公共代码放在 foo_common.go 文件中,这样它就永远不会构建。使用perl 或bash + sed 脚本从foo_common.go 构建foo2.go 和foo3.go,方法是修复cgo pkg-config 行并为gtk2 标签添加go build 指令。
【问题讨论】:
标签: go preprocessor gtk3 gtk2