Cross-compiling for linux arm/7: clang error: argument unused during compilation '-marm'

huangapple go评论124阅读模式
英文:

Cross-compiling for linux arm/7: clang error: argument unused during compilation '-marm'

问题

原因是在使用CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 go build命令时,出现了编译错误。错误信息显示clang: error: argument unused during compilation: '-marm' [-Werror,-Wunused-command-line-argument]

这个错误是由于在编译过程中使用了-marm参数,但它在当前的编译环境中是无效的。-marm参数用于指定生成ARM代码,但在你的macOS Big Sur操作系统上,这个参数是不需要的。

要解决这个问题,你可以尝试去掉-marm参数,然后重新运行编译命令。修改后的命令如下:

CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 go build

这样应该可以解决编译错误。另外,确保你的Golang版本是go1.17 darwin/amd64。

英文:

What is the reason and how to solve it? Please..

cmd : CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 go build

output:

# runtime/cgo
clang: error: argument unused during compilation: '-marm' [-Werror,-Wunused-command-line-argument]
  • OS: macOS Big Sur
  • Golang verson: go1.17 darwin/amd64

答案1

得分: 0

阅读精细手册

> 在交叉编译时,您必须为cgo指定一个C交叉编译器。您可以通过在使用make.bash构建工具链时设置通用的CC_FOR_TARGET环境变量或更具体的CC_FOR_${GOOS}_${GOARCH}(例如,CC_FOR_linux_arm)环境变量,或者您可以在运行go工具时任何时候设置CC环境变量来实现这一点。

因此,您需要为CGo指定交叉编译器,例如:

 CC=arm-linux-gnueabihf-gcc CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 go build

对于C++代码,还需要添加CXX=arm-linux-gnueabihf-g++

您需要安装gcc-arm-linux-gnueabihflibc6-dev-armhf-cross软件包才能使上述方法工作(在Linux上,不清楚Mac上的情况)。

英文:

Read the fine manual:

> When cross-compiling, you must specify a C cross-compiler for cgo to use. You can do this by setting the generic CC_FOR_TARGET or the more specific CC_FOR_${GOOS}_${GOARCH} (for example, CC_FOR_linux_arm) environment variable when building the toolchain using make.bash, or you can set the CC environment variable any time you run the go tool.

So you need to specify the cross-compiler for CGo, e.g. like so:

 CC=arm-linux-gnueabihf-gcc CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 go build

For C++ code also add CXX=arm-linux-gnueabihf-g++.

You'll need to have gcc-arm-linux-gnueabihf and libc6-dev-armhf-cross packages installed for the above to work (on Linux, don't know about Mac).

huangapple
  • 本文由 发表于 2021年10月20日 17:58:56
  • 转载请务必保留本文链接:https://go.coder-hub.com/69643927.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定