英文:
Importing C.scintilla_new() in Cgo package
问题
以下是翻译好的内容:
package main
//#cgo CFLAGS: -I/home/me/geany/scintilla/include
//#include <ScintillaWidget.h>
import "C"
import (
"github.com/mattn/go-gtk/gtk"
)
func main() {
gtk.Init(nil)
window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
window.SetPosition(gtk.WIN_POS_CENTER)
window.SetTitle("GTK Go!")
window.SetIconName("textview")
window.Connect("destroy", gtk.MainQuit)
window.SetSizeRequest(600, 600)
C.scintilla_new();
window.ShowAll()
gtk.Main()
}
这是我得到的错误信息:
# _/home/me/gosci/gosci
无法确定 C.scintilla_new 的名称类型
在第58行的头文件中明显定义了它:
GtkWidget* scintilla_new (void);
如何编译这个代码?
英文:
package main
//#cgo CFLAGS: -I/home/me/geany/scintilla/include
//#include <ScintillaWidget.h>
import "C"
import (
"github.com/mattn/go-gtk/gtk"
)
func main() {
gtk.Init(nil)
window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
window.SetPosition(gtk.WIN_POS_CENTER)
window.SetTitle("GTK Go!")
window.SetIconName("textview")
window.Connect("destroy", gtk.MainQuit)
window.SetSizeRequest(600, 600)
C.scintilla_new();
window.ShowAll()
gtk.Main()
}
This is the error I get:
# _/home/me/gosci/gosci
could not determine kind of name for C.scintilla_new
The definition is obviously in the header at line 58:
GtkWidget* scintilla_new (void);
How to compile this?
答案1
得分: 1
可能在ScintillaWidget.h
中没有声明GtkWidget
,你需要先#include <gtk/gtk.h>
。
英文:
Possibly GtkWidget
is not declared in ScintillaWidget.h
and you need to #include <gtk/gtk.h>
first.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论