为了账号安全,请及时绑定邮箱和手机立即绑定

从 Windows 10 到树莓派的交叉编译 CGO_ENABLED = 1

从 Windows 10 到树莓派的交叉编译 CGO_ENABLED = 1

Go
天涯尽头无女友 2022-08-24 20:31:02
我希望从我的Windows机器编译一个树莓派(更快)。如果我使用以下命令,一切正常:env GOOS=linux GOARCH=arm GOARM=5 go build src/*.go但是,我正在使用显然需要CGO_ENABLED = 1go-sqlite3Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub当我将编译命令更改为“我在窗口上收到错误”env GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 go build src/*.go$ env GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 go build src/*.go# runtime/cgocgo: exec C:\Program: exec: "C:\\Program": file does not exist这看起来像是一个简单的修复,但我对交叉编译不是很满意。我在网上找不到太多。编辑:我移动了我的项目,现在我得到以下错误:$ env GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 go build src/*# runtime/cgogcc: error: unrecognized command line option '-marm'; did you mean '-mabm'?*我在网上环顾四周,显然需要指定CC:$ env GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 CC=arm-linux-gnueabi-gcc go build src/*# runtime/cgocgo: exec arm-linux-gnueabi-gcc: exec: "arm-linux-gnueabi-gcc": executable file not found in %PATH%因此,我正在向前迈进以解决问题,但我还没有到达那里。我将尝试找到如何在Windows上安装gcc linux并将其添加到.但是,如果这不是正确的方法。我愿意接受一些帮助PATH
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

好吧,所以通过编辑,我展示了工作。

为了解决最初的问题,我将项目移到了GOPATH中。cgo: exec C:\Program: exec: "C:\\Program": file does not exist

为了修复第一次编辑,我从 https://gnutoolchains.com/raspberry/ 安装了工具链,并确保在用户和系统变量中都添加了工具链。cgo: exec arm-linux-gnueabi-gcc: exec: "arm-linux-gnueabi-gcc": executable file not found in %PATH%C:\SysGCC\raspberry\bin

为了修复第二次编辑,我 https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download 安装并确保安装了以下数据包arm-linux-gnueabihf-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin-0.dll not found

  • mingw-developer-toolkit

  • 明珠32-基地

  • mingw32-gcc-g++

  • msys-base我不确定它们都是必要的。我还确保在用户和系统变量中都有。C:\MinGW\bin

然后,我需要重新启动我使用的所有终端,现在命令可以正确编译


查看完整回答
反对 回复 2022-08-24
  • 1 回答
  • 0 关注
  • 647 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号