ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

MacOS上交叉编译cgo项目到Linux

2022-08-02 02:31:27  阅读:214  来源: 互联网

标签:bin MacOS cgo Linux gcc 编译 linux go


前言

我们在用go开发时难免会用到一些c语言的库,比如sqlite。我们的服务往往部署到linux服务器上。今天我们就介绍一下cgo项目如果在mac上交叉编译到linux

正文

想要在mac上交叉编译cgo相关代码必须先下载linux的交叉编译器。(如果没有使用到cgo,则不用下载,可以直接编译)

下载linux的交叉编译器

我们到这个地址下载:https://sizhuiit.com/

下载下来是一个dmg文件。我们直接打开,安装里面的pkg文件。

如果提示未知开发者,打不开安装包解决办法


交叉编译器安装位置:/usr/local/gcc-4.8.1-for-linux64/bin/, 我们在bin路径下可以看到很多gcc文件

添加编译命令

有过打包经验都知道,我们使用的命令时: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go 这个是没有开启cgo打包的编译命令。

这个是开启cgo的命令时这样的

CGO_ENABLED=1 CC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc GOOS=linux GOARCH=amd64 go build  main.go

解释

  1. 这里我们把 CGO_ENABLED 变量设定成了 1
  2. 添加了 CC 变量,并赋值: /usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc 也就是我们gcc的安装路径

标签:bin,MacOS,cgo,Linux,gcc,编译,linux,go
来源: https://www.cnblogs.com/shuiche/p/16542407.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有