商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在Ubuntu上编译Golang库

如何在Ubuntu上编译Golang库

  发布于2026-07-21 阅读(0)

扫一扫,手机访问

在Ubuntu上编译Golang库,其实没有想象中那么复杂。先把整个流程理清楚,再动手,能省不少弯路。

如何在Ubuntu上编译Golang库

第一步,当然是装好Go语言环境。如果你还没装,两行命令搞定:

sudo apt update
sudo apt install golang-go

装完之后,环境变量得配一下。这里有个关键点:Go 1.11及以上版本默认使用Go Modules,其实不需要手动设置GOPATHGOROOT了。但如果你还在用老版本,或者习惯手动管理,可以按下面的方式配置:

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
export GOROOT=/usr/lib/go
export PATH=$PATH:$GOROOT/bin

注意,GOROOT指向的是Go的安装目录,GOPATH是你的工作空间路径——这两个概念容易混淆,但记住就行。

接下来,创建项目目录。在GOPATH/src下建一个文件夹,名字随意,比如叫mylibrary

mkdir -p $GOPATH/src/mylibrary
cd $GOPATH/src/mylibrary

然后,开始写代码。在目录下新建一个mylibrary.go文件,把你要封装的库逻辑写进去。这一步没什么特别的,就是正常的Go代码。

编译环节稍微有点讲究。用go build可以生成静态库.a文件,如果你想生成共享库(.so),则要加上-buildmode=c-shared参数:

go build -o mylibrary.a mylibrary.go
# 或者生成共享库
go build -o libmylibrary.so -buildmode=c-shared mylibrary.go

编译完成后,如果你想把它安装到系统目录,方便其他项目引用,可以用go install

go install mylibrary

这个命令会把库文件复制到$GOPATH/bin下,如果编译的是共享库,还会自动更新动态链接器的缓存。

最后,在其他Go项目中使用这个库时,只需要在代码里导入对应的包路径即可。前提是确保你的库路径在GOPATH中,或者你在项目的go.mod里正确设置了模块路径。

不得不提的是,如果你用的是Go 1.11及以上版本,强烈建议直接使用Go Modules。它让你完全摆脱GOPATH的束缚,项目目录可以放在任何地方。只需要在项目根目录初始化模块:

go mod init github.com/yourusername/mylibrary

之后,go buildgo install依然能正常工作,而且依赖管理会更清晰。整个流程跑下来,其实核心就是那几步:装环境、写代码、编译、引用。熟练之后,几分钟就能搞定。

本文转载于:https://www.yisu.com/ask/22996754.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注