我一直在 Linux 下使用 nsf 的“哥特式”(tcl/tk go 綁定)庫有一段時間了:它運行良好,并且非常方便地將基于 tcl/tck 的圖形界面添加到 Go 應用程序(或多或少是什么) Tkinter 是 Python)。https://github.com/nsf/gothic但是,我在 Mac 下安裝它時遇到了一些問題。為了解決這個問題,我對我的 Mac 開發環境進行了以下修改:安裝了最新版本的 Xcode。完全刪除了“端口”(Mac 版 Linux 工具的端口)并從頭安裝到最新版本。升級到最新的穩定版 Go。現在至少我可以在 Mac 下安裝“gothic”并且編譯時沒有任何抱怨。我必須對文件進行以下更改interpreter.go,以便標頭指令指向正確的庫位置:#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所以這是指向正確的庫。當前的情況是示例確實可以編譯,沒有任何警告或錯誤消息。問題是生成的可執行文件只能隨機正確運行,不時形成,但大多數時候只是“掛起”(在界面應該是的地方顯示一個空的白色矩形)程序塊的執行。在 nsf 的代碼中,最后一條明顯執行的語句(當可執行文件卡住時)是對Tk_Mainloop().這就是我試圖弄清楚出了什么問題。所以很明顯,這不是 Go (golang) 到 Tcl 的綁定問題??雌饋?Tcl 和 Tk 之間的“連接”有時有效,有時在該上下文中無效(而在 Linux 下它可以完美運行)。有沒有人在 mac 上使用“gothic”更成功(或者在 mac 下使用 tcl/tk 綁定的經驗可能更多)?如果是,將非常感謝有關如何進行的一些幫助。
- 1 回答
- 0 關注
- 484 瀏覽
添加回答
舉報
0/150
提交
取消