在 Ubuntu 上使用 Golang 编译静态库,你需要遵循以下步骤:
安装 Golang:如果你还没有安装 Golang,请访问 https://golang.org/dl/ 下载并安装适用于 Ubuntu 的 Golang 版本。
创建一个新的目录来存放你的 Go 代码和静态库。例如,你可以创建一个名为 mylib 的目录:
mkdir mylib
cd mylib
mylib 目录中创建一个名为 lib.go 的文件,其中包含你想要编译为静态库的 Go 代码。例如:// lib.go
package main
import "C"
//export MyFunction
func MyFunction() {
// 你的代码
}
这里,我们使用 //export 注释来导出一个名为 MyFunction 的函数,这样它就可以在其他语言中使用。
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o libmylib.a lib.go
这将生成一个名为 libmylib.a 的静态库文件。
main.c 的文件:// main.c
#include <stdio.h>
// 声明 MyFunction 函数
void MyFunction();
int main() {
printf("Calling MyFunction...\n");
MyFunction();
return 0;
}
gcc -o myapp main.c -L/path/to/your/static/lib -lmylib -static
将 /path/to/your/static/lib 替换为实际的静态库文件路径。
./myapp
这将调用你在 Go 代码中定义的 MyFunction 函数。