在 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 ...
随机推荐
- DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包
粘包 使用TCP长连接就会引入粘包的问题,粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.粘包可能由发送方造成,也可能由接收方造成.TCP为提 ...
- 简单几步教你实现移动硬盘PE、装win7/vista! 一盘在手,系统无忧!
第一步:格式化u盘成为ntfs格式.(以下同样适用于移动硬盘)提供两个方法:,方法一是格式化成fat32,再到命令提示符即俗称的dos窗口运行convert.方法二在xp下,点击u盘所在盘符,选择属性 ...
- wpf控件开发基础(4) -属性系统(3)
原文:wpf控件开发基础(4) -属性系统(3) 知识回顾 接上篇,上篇我们真正接触到了依赖属性的用法,以及依赖属性的属性元数据的用法,并且也实实在在地解决了之前第二篇提到的一系列问题.来回顾一下 属 ...
- 用java写的后台方法可以提供给C#调用吗?(转)
最近和公司搞C#的同事联合搞了一个项目,我把我这边的数据加密之后传给C#,然后C#在对接收到的数据解密.可是问题来了,我这边用JAVA加密的数据C#的同事怎么也解密不出来,于是我就想到了可不可以将JA ...
- 【转】NIO与传统IO的区别
转自:http://blog.csdn.net/zhouhl_cn/article/details/6568119 传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时, ...
- linux每个路由表的系统研究
linux那里0~255干脆256张路由表.间0这并不表示unspec(未指定),253.254,255分别default.main.local表. 除了以上4张表外的其它表都是留给用户指定的 ...
- 在Expression Blend中制作侧面为梯形的类棱柱体
原文:在Expression Blend中制作侧面为梯形的类棱柱体 在上一篇"在WPF设计工具Blend2中制作立方体图片效果"( http://blog.csdn.net/joh ...
- python3给图片添加水印
#!/usr/local/bin/python3 #coding=gbk import os, io, sys, re, time, json, random from PIL import Imag ...
- node express4.x 的安装
4.x开始不再是 一个express就搞定一切了,需要装另外一个部署插件 具体: 跟着<nodejs开发指南>敲npm install -g express, 安装好了,就在linux命令 ...
- KVM虚拟化知识的一些笔记
一.KVM介绍 KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截.Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理. QEMU:修改过的为 KVM 虚机使 ...