简体   繁体   English

使用来自 github 的包时尝试编译 golang 时出错

[英]Error when trying to compile golang when using package from github

I'm trying to install the package robotgo on my laptop.我正在尝试在我的笔记本电脑上安装robotgo 包。 I used the command go get github.com/go-vgo/robotgo to download and install it我使用命令go get github.com/go-vgo/robotgo下载并安装它

I then run this code, but it fails to compile and returns the error below然后我运行此代码,但它无法编译并返回以下错误

package main

import (
    "fmt"

    "github.com/go-vgo/robotgo"
)

func main() {
    x, y := robotgo.GetMousePos()
    fmt.Println("pos: ", x, y)
}

Error:错误:

# command-line-arguments
C:\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `default_logger':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../hook/windows/../logger_c.h:39: undefined reference to `__getreent'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../hook/windows/../logger_c.h:32: undefined reference to `__getreent'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `loggerProc':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/pub.h:97: undefined reference to `__getreent'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_port_retain':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:426: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_port_wait':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:453: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_signal_first':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:648: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `cleanup_ops':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:857: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_retain':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:777: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_assert_print':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:146: undefined reference to `__getreent'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_port_create':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:390: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_port_free':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:358: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:349: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_port_release':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:432: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_port_signal':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:439: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `cleanup_ops':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:866: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:866: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_signal_first':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `recv_unbuf':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1210: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o:C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1180: more undefined references to `sched_yield' follow
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `try_op':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1249: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_release':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:783: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_close':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:796: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_signal_first':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_close':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:791: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_buf_cap':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:830: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_buf_len':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:843: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:835: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `cleanup_ops':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:866: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:866: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `recv_unbuf':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1210: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1180: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_signal_first':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o:C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:620: more undefined references to `sched_yield' follow
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `try_op':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1249: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_add':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:597: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_signal_first':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:651: undefined reference to `sched_yield'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_add':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:592: undefined reference to `__assert_func'
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:591: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_signal_first':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:648: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `eb_chan_select_list':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:1299: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `port_list_rm':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:617: undefined reference to `__assert_func'
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o:C:\Users\sieea\go\src\github.com\robotn\gohook/event/../chan/eb_chan.h:616: more undefined references to `__assert_func' follow
C:\Users\sieea\AppData\Local\Temp\go-link-143133203\000004.o: In function `dispatch_proc':
C:\Users\sieea\go\src\github.com\robotn\gohook/event/dispatch_proc.h:66: undefined reference to `__getreent'
collect2.exe: error: ld returned 1 exit status

I have MinGW-W64 in my system path and that code and library works on my desktop pc, but I can't figure out why it doesn't work on my laptop.我的系统路径中有 MinGW-W64,该代码和库在我的台式电脑上运行,但我不知道为什么它在我的笔记本电脑上不起作用。 I've reinstalled MinGW, Go, and Goland multiple times to attempt to get it to work but I don't know what the problem is.我已经多次重新安装 MinGW、Go 和 Goland 以尝试使其正常工作,但我不知道问题出在哪里。

Any help is appreciated任何帮助表示赞赏

Try replacing your MinGW installation with https://jmeubank.github.io/tdm-gcc/尝试用https://jmeubank.github.io/tdm-gcc/替换您的 MinGW 安装

I've struggled with another cgo package on Windows a couple of days ago, trying out several different MinGW versions and so on.几天前,我一直在 Windows 上使用另一个 cgo 包,尝试了几个不同的 MinGW 版本等等。 Somewhere on the net I've found that this distributive of GCC works well with cgo on Win.在网上的某个地方,我发现 GCC 的这种分布与 Win 上的 cgo 配合得很好。 Installed it and everything does work like a charm!安装它,一切都像魅力一样工作!

I know it's not a very detailed answer, but if you just need it to work - might help.我知道这不是一个非常详细的答案,但如果您只是需要它来工作 - 可能会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试使用 go 从 github 构建 package 时出错 - Error when trying to build package from github with go Golang:尝试删除地图中的项目时编译错误 - Golang: compile error when trying to delete an item in map 尝试使用 cgo package 将 static C 库链接到 golang 代码时出错 - 在搜索 -laddLogic 时跳过不兼容./addLogic.lib - Error while trying to link a static C library to golang code using cgo package - skipping incompatible ./addLogic.lib when searching for -laddLogic 当依赖包的所有者从 github 中删除存储库时,Golang 项目会发生什么? - What happens to a Golang project when a dependecy package's owner removes the repository from github? 尝试从Golang执行python 2.7代码时出现EOF错误 - EOF Error when trying to execute python 2.7 code from Golang 尝试连接 GCP SQL 数据库与 Golang 云 sql 代理包时出现权限错误 - Permissions error when trying to connect GCP SQL Database with Golang cloud sql proxy package 使用golang dep从同一个github源获得不同的软件包版本 - different package versions from same github source using golang dep 防止 VSCode 在键入 Golang 导入时要求提供 GitHub 凭据? - Prevent VSCode from asking for GitHub credentials when typing Golang imports? 运行golang代码时出错,缺少正则表达式软件包? - error when running golang code, regex package is missing? 使用 mysql 驱动程序时尝试在 docker 中构建我的 golang 应用程序时出错 - Error when trying to build my golang application in docker while using the mysql driver
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM