在 Windows 中编译 Github 中的 GO 项目
1、相关软件与环境准备
1.1 GO 安装
下载地址,https://studygolang.com/dl,选择 Windows 版,本文安装到 D:\Go

1.2 LiteIDE 安装
下载地址,http://liteide.org/cn/download/ 可以找到去下载的地方。
本文下载的是 https://github.com/visualfc/liteide/releases/tag/x36 中的 liteidex36.windows-qt5.9.5.zip
解压之后,将 liteide\bin\liteide.exe 在桌面创建个快捷方式方便以后打开即可。
这里将编译目标系统选择 win64,编译叁数中 GOROOT 的值修改为实际安装目录。


1.3 Git bash 安装
下载地址,https://www.git-scm.com/download/,选择 Windows 版。

1.4 规划一下文件夹
引用的第三方包单独给定一个存放路径,以便于管理,并将它作为 GOPATH 环境变量的第一个路径,因为 go get 下载的第三方源码总是放第一个路径的 src 中。
这里使用路径 D:\goproj\third
项目源码单独一个路径,这里使用 D:\goproj\porjs
1.5 设置环境变量
PATH,GOROOT,GOPATH 的相关介绍可参考这篇文章:https://blog.csdn.net/triplestudio/article/details/93685064 第2节。
GOROOT 在 GO 安装时通常已经自动设置好,在 PATH 中加入 %GOROOT%bin
GOPATH 设置为 D:\goproj\third;D:\goproj\projs。注意在 Windows 多个路径使用分号隔开,而 Linux 使用的是冒号。
2、关于依赖包
不得不说,有很多依赖包,是直接 go get 不到,部分原因是访问被禁止了。此时可以通过以下网站进行下载,它专注于 Go 语言包管理。
对于 go module 方式,则可以增加环境变量 GOPROXY,设置为:https://goproxy.io,它会代理下载相关的依赖包,这样一来,多数项目就可以无障碍的去加载编译了。
具体可参考 https://segmentfault.com/a/1190000018264719
3、源码下载与编译
假如项目地址为:https://github.com/xxx/yyy
则可以在 D:\goproj\projs\src 下创建 github.com 目录,再创建子目录 xxx,然后,再以命令行方式进入 xxx,执行以下命令取得项目源码。
git clone https://github.com/xxx/yyy
如果源码中存在 go.mod 文件,则表示可以使用 go module 来管理依赖包,这时,可以启用以下参数,表示启用该方式。

至此,编译已经是件简单的事情,有疑问欢迎关注“时间维度”交流讨论。
在 Windows 中编译 Github 中的 GO 项目的更多相关文章
- 直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分
直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分 本文是关于如何将GoogleTest和GoogleMock在没有预先编译安装在机器的情况下,直接在项目中作为项目的 ...
- bundler-sfm windows下编译过程中出现的错误
一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...
- 【Electron】使用 build-tools 在 Windows 中编译 electron
[Electron]使用 build-tools 在 Windows 中编译 electron 提前准备 预留好磁盘空间 Git 缓存目录:%UserProfile%/.git_cache ,大概有 ...
- [vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件
在Linux里面混了一个多月,vim编程用得甚爽.无奈前天将Linux里面的编程文件夹误删,而技术不精无法找回,悲痛欲绝.再者,无限怀念windows里面的游戏,并觉得现在在Linux里面也学不到什么 ...
- 在windows C++中编译并使用Lua脚本
早前就用过LUA ,只是局部的小项目使用,突然兴起想要写一些关于LUA 的 文章,记录曾经学习过的点点滴滴. 这里我使用的是LUA5.2作为 案例 lua做为轻量级脚本语言已经被广泛应用到应用软件以 ...
- 如何在Windows、Linux系统中安装Redis
一:Windos下安装Redis并设置自动启动 1.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网已经没有windows版本的下载地址,只 ...
- Pycharm中使用GitHub
Pycharm是当前进行python开发,尤其是Django开发最好的IDE.GitHub是程序员的圣地,几乎人人都在用. 本文假设你对pycharm和github都有一定的了解,并且希望在pycha ...
- FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误
前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...
- 开发人员看测试之运行Github中的JBehave项目
本文要阐述的主要有两点,一是介绍自动化测试框架JBehave,二是介绍如何在Github上拉项目,编译成myeclipse环境中的项目,并最终导入Myeclipse中运行. JBehave是何物? J ...
随机推荐
- .NET开发人员的瓶颈和职业发展
现在社会比前几年浮躁了,越来越多的人抱怨薪水低,高薪工作不好找; 诚然这有CPI的压力,可是也有很多人没有认清自己的职业发展. 很多.net程序员个各种纠结,想拿高薪又拿不到,想提高又不知道怎么能提高 ...
- lua--从白开始(2)
眼下lua最新的版本号,5.2.3. 这个例子是一个简单lua分析器,来源自<Lua游戏开发实践指南>. 测试程序的功能:解决简单lua说明,例如:print("Hello wo ...
- C# 比较不错的通用验证码
1 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging ...
- OpenWrt 主的发展版本号trunk MT7620N 无线驱动程序bug
周边环境: OpenWrt Development Trunk: svn co svn://svn.openwrt.org/openwrt/trunk/ BUG: 1. 无线无法建立连接. 2. 无线 ...
- Microsoft.AspNet.SignalR实现弹幕(即时通讯)
引用 Microsoft.AspNet.SignalR 服务器 自定义Connection public class BarrageConnection : PersistentConnection ...
- Nginx支持LInux的软链接或硬链接
在我们配置nginx的时候,有些时候,大部分都是讲root指向真实的目录.但是有些时候,我们需要指向一个软链接.但是配置的时候,发现会有问题. 我们可以通过以下的方法,来解决,让nginx支持软链接/ ...
- 计算机网络OSI参考模型与tcp/ip四层模型
OSI参考模型--7层 1层物理层:主要定义物理设备标准,如网线的接口类型.光线的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化 ...
- C#基于用户和角色的验证,服务端web 客户端wpf
应用程序服务 <?xml version="1.0"?> <!-- For more information on how to configure your ...
- jquery 克隆div 复制div 克隆元素 复制元素
代码: $('.div1').clone() 定义和用法 clone() 方法生成被选元素的副本,包含子节点.文本和属性. 语法 $(selector).clone(includeEvents) 参数 ...
- C++得到当前进程所占用的内存
原文地址:C++得到当前进程所占用的内存作者:雪碧狗 使用SDK的PSAPI (Process Status Helper)中的BOOL GetProcessMemoryInfo( HANDLE P ...