gpt4 book ai didi

macos - pb在Mac下使用nsf的 "gothic"(tcl/tk去绑定(bind))库

转载 作者:IT王子 更新时间:2023-10-29 02:24:17 25 4
gpt4 key购买 nike

我在 Linux 下使用 nsf 的“gothic”(tcl/tk go 绑定(bind))库有一段时间了:它工作得很好,并且非常方便将基于 tcl/tck 的图形界面添加到 Go 应用程序(更多或者说 Tkinter 之于 Python)。

https://github.com/nsf/gothic

但是,我在 Mac 下安装它时遇到了一些问题。

为了解决这个问题,我对我的 Mac 开发环境进行了以下修改:

  • 安装了最新版本的 Xcode。

  • 完全删除“port”(Mac Linux 工具的端口)并从头开始安装到最新版本。

  • 升级到最新稳定版 Go。

现在至少我可以在 Mac 下安装“gothic”并且它可以毫无怨言地编译。

我必须对 interpreter.go 文件进行以下更改,以便 header 指令指向正确的库位置:

#cgo !tcl85 LDFLAGS: -L/opt/local/lib
#cgo !tcl85 LDFLAGS: -ltcl8.6 -ltk8.6
#cgo !tcl85 CFLAGS: -I/opt/local/include/tcl8.6
#cgo darwin tcl85 CFLAGS: -I/opt/local/include
#cgo darwin tcl85 CFLAGS: -I/opt/local/include/tcl8.6

代替原来的:

#cgo !tcl85 LDFLAGS: -ltcl8.6 -ltk8.6
#cgo !tcl85 CFLAGS: -I/usr/include/tcl8.6
#cgo tcl85 LDFLAGS: -ltcl8.5 -ltk8.5
#cgo tcl85 CFLAGS: -I/usr/include/tcl8.5
#cgo darwin tcl85 CFLAGS: -I/opt/X11/include

所以这是指向正确的库。

目前的情况是示例确实可以编译,没有任何警告或错误消息。

问题是生成的可执行文件只能随机正确运行,时不时地形成,但大多数时候只是“挂起”(在界面应该显示的地方显示一个空白的白色矩形)程序 block 的执行。

在 nsf 的代码中,最后一个明显执行的语句(当可执行文件卡住时)是对 Tk_Mainloop() 的调用。

这就是我试图找出问题所在的全部内容。

很明显,这不是 Go (golang) 到 Tcl 的绑定(bind)问题。

看起来好像 Tcl 和 Tk 之间的“连接”在那个上下文中有时有效,有时无效(而它在 Linux 下工作得很好)。

有没有人在 mac 上使用“哥特式”更成功(或者可能有更多在 mac 下使用 tcl/tk 绑定(bind)的经验)?

如果是,将非常感谢您提供有关如何进行的一些帮助。

谢谢,

最佳答案

同时安装:

Nsf.s gothic(tcl/tk 到 Golang 绑定(bind))库现在可以在 Mac 上正常工作了!

因此,问题与 X11.app 的(后期)实现相关联的假设是正确的!

谢尔盖

关于macos - pb在Mac下使用nsf的 "gothic"(tcl/tk去绑定(bind))库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com