侧边栏壁纸
  • 累计撰写 29 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

编译x-ui

千城
2022-08-10 / 0 评论 / 0 点赞 / 253 阅读 / 0 字
首先查看vps是什么架构
arch

image

安装Go语言

安装包下载地址
官方:https://go.dev/dl/
如果打不开可以使用这个地址:https://golang.google.cn/dl/
这里以1.19版本为例:一般我们选amd64这个,右键复制下载地址,wget下载到小鸡上
image-1660119001401

wget https://go.dev/dl/go1.19.linux-amd64.tar.gz

解压到/usr/local 目录

tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz

将/usr/local/go/bin 目录添加至 PATH 环境变量

export PATH=$PATH:/usr/local/go/bin

这种只能暂时添加 PATH,关闭终端下次再登录就没了。可以把这条环境变量写进配置文件~/.bash_profile 或者 /etc/profile ,末尾追加进去,即可永久生效。

添加后选一个更新一下:

# 当前用户
source ~/.bash_profile

# 所有用户
source /etc/profile

检查是否安装成功:go version ,输出 go version go1.19 linux/amd64 这样的的版本信息就是安装成功了

编译

拉x-ui源码

git clone https://github.com/vaxilu/x-ui.git
cd x-ui/ && go mod download

查看所有支持的系统与架构

go tool dist list

可以看到有一段信息显示为:linux/amd64
代表支持amd64架构,那么我们现在开始编译x-ui
首先安装gcc,编译的时候会用到,提前安装来预防报错

apt install gcc -y

然后,正式进行编译工作

go build

编译完成后,就可以看到有一个 x-ui 可执行文件生成,这就是编译后的x-ui

交叉编译

交叉汇编 windows 系统 amd64 架构的目标文件:
GOOS=windows GOARCH=amd64 go build

如果您要在 Ubuntu 上编译一个 Windows x64 位的共享库文件,可以使用以下命令:

sudo apt-get update
sudo apt install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64
export CC=x86_64-w64-mingw32-gcc
export CXX=x86_64-w64-mingw32-g++
export GOOS=windows
GOARCH=amd64 go build -buildmode=c-shared -o fulltclash.dll fulltclash.go

交叉汇编 drawin 系统 amd64 架构的目标文件:
GOOS=drawin GOARCH=amd64 go build

交叉汇编 linux 系统 arm64 架构的目标文件:
GOOS=linux GOARCH=arm64 GOARM=7 go build

需要CGO支持的,要将CGO_ENABLED的0改为1,也就是CGO_ENABLED=1,此外还需要设置编译器,例如我想在linux上编译arm版的二进制,需要这样做:
CGO_ENABLED=1 GOOS=linux GOARCH=arm CC=aarch64-linux-gnu-gcc go build

这个aarch64-linux-gnu-gcc是个啥东西,怎么安装,如果你系统是ubuntu的话,可以按照下面命令安装:

sudo apt-get install -y gcc-aarch64-linux-gnu
安装完成可以看看是否可用
aarch64-linux-gnu-gcc -v

查看环境变量命令
go env

file命令可以查看编译出来的二进制文件是什么类型

卸载 Go

卸载Go,其实就是将前面安装Go的东西全部删除:
1.删除 go 目录:
sudo rm -rf /usr/local/go
2.删除软链接:
sudo rm -rf /usr/bin/go

0

评论区