首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在go工具链编译期间,GOARCH和GOOS是如何使用的?

在go工具链编译期间,GOARCH和GOOS是如何使用的?
EN

Stack Overflow用户
提问于 2019-01-25 06:08:31
回答 1查看 235关注 0票数 1

我试图协调为什么当make.bash还支持对所有支持的架构by default进行交叉编译时,它却接受GOARCH、GOOS和其他目标变量。我正在为amd64/linux编译此程序,但将使用该编译器在嵌入式环境中交叉编译用于arm/linux的应用程序。Buildroot构建使用以下命令

代码语言:javascript
运行
复制
cd /builddir/build/host-go-1.10.2/src && 
    GOROOT_BOOTSTRAP=/builddir/host/lib/go-1.4.3 
    GOROOT_FINAL=/builddir/host/lib/go 
    GOROOT="/builddir/build/host-go-1.10.2" 
    GOBIN="/builddir/build/host-go-1.10.2/bin" 
    GOARCH=arm 
    GOARM=7 
    GOOS=linux 
    CC=/usr/bin/gcc 
    CXX=/usr/bin/g++ 
    GO_ASSUME_CROSSCOMPILING=1 
    CC_FOR_TARGET="/builddir/host/bin/arm-linux-gnueabihf-gcc" 
    CXX_FOR_TARGET="/builddir/host/bin/arm-linux-gnueabihf-g++" 
    CGO_ENABLED=1 
    ./make.bash

它可以正常工作,并继续构建其他应用程序。我的问题是,为什么这些目标变量在这个阶段是相关的?这不是只与使用该程序编译的应用程序相关吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-25 06:20:03

Go编译器和链接器都是Go程序。make.bash需要知道为哪个架构和操作系统构建Go工具链。

有关不同体系结构和操作系统的示例,请参阅Downloads - The Go Programming Language

参见Installing Go from source

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54356055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档