go语言gui不能编译 go语言报错( 三 )


设置好go-env.bat后,就可以点击Console.bat来启动编译和运行窗口 。
4、编写一个带C代码的go程序 。例如,testc.go
5、编译
例如:
go build -compiler gccgo test_c.go
运行调用C代码的go文件(可?。?
1、testc.go.
创建rand目录,然后在rand里面创建testc.go. 代码如下:
package rand
/*
//
#include stdio.h
*/
import "C"
func PrintHello() {
C.puts(C.CString("Hello, world\n"))
}
2、a.go
在rand下创建a.go.代码如下:
package rand
import "fmt"
func SayHello(name string){
fmt.Println(name)
}
3、test_import.go
在rand的上一级创建test_import.go 。代码如下:
package main
import "./rand"
func main(){
rand.SayHello("tom")
rand.PrintHello()
}
4、运行test_import.go
go run test_import.go
在测试其它几个C代码的时候,发现windows版本的cgo还有些编译问题,同样的代码转移到苹果的XCODE下就没有问题 。后来终于发现原因了 , 原来有些例子是unix平台下的,而在windows平台下,方法名和参数需要做调整 。
例如:下面代码在windows下编译报一堆错误 。
package rand
/*
#include stdlib.h
*/
import "C"
func Random() int {
return int(C.random())
}
func Seed(i int) {
C.srandom(C.uint(i))
}
这里需要把return int(C.random()) 修改为“return int(C.rand())”
C.srandom(C.uint(i))修改为“C.srand(C.uint(i))”编译就OK了 。
go语言设置goos为darwin不生效,这是为啥?设置Go操作系统变量(GOOS)为“darwin”应该有效,但有几种情况可能导致它不起作用:
1.在设置GOOS变量时可能出现拼写错误 。请确保将其拼写为“darwin”,而不是“darvin”等其他类似的拼写错误 。
2.应该将GOOS变量设置为环境变量或在命令行中使用“export”命令进行设置(如:export GOOS=darwin) 。如果您没有使用这些方式来设置变量,它可能不会生效 。
3.如果您正在使用交叉编译进行跨操作系统编译 , 则GOOS变量只会影响目标操作系统,并不会影响宿主操作系统 。因此,在这种情况下,即使您设置了GOOS为“darwin” , 但如果您在Windows主机上进行编译,则仍将使用Windows操作系统的设置和限制 。
如果您遵循正确的设置步骤 , 但GOOS仍然无法生效 , 请确认您的Go安装是否正确并彻底,并且没有其他版本的Go正在干扰 。
go语言支持开发桌面级应用吗?(求个编译器)go 可以开发桌面应用go语言gui不能编译,但并不是很舒适 。
可以使用go语言gui不能编译的GUI库有go语言gui不能编译:
1、goqtgo语言gui不能编译,LiteIDE作者出品 , Go和QTgo语言gui不能编译的绑定 , 还未发布
2、go.uik , 纯Go实现的并发UI工具
3、walk,Windows Application Library Kit
4、gform,Windows GUI framework
目前的话walk用得比较多
不过go的GUI库用起来没有C#、C/C++的那么顺手 。
这个问题不久之后应该会有所改善,毕竟用Go开发桌面的需求在不断增加 。
目前我采用的是用go http 做后端,Webkit+HTML5 做界面,表现力很好 , 前端不需要学习新知识,一般的管理类应用都能搞定 。
关于go语言gui不能编译和go语言报错的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读