Linux编译Go运行在Windows上(纯记录)

要在Windows上运行Go程序,您需要使用交叉编译的方法在Linux上编译生成Windows可执行文件。以下是完成此任务的步骤:

  1. 安装Go编译器:首先确保您在Linux系统上安装了Go编程语言的编译器。如果尚未安装,请前往Go官方网站下载并安装适用于您的Linux发行版的Go二进制文件。

  2. 设置环境变量:在Linux系统上配置好Go编程环境。确保您的$GOPATH$GOBIN环境变量已正确设置。

  3. 交叉编译:使用交叉编译的功能,在Linux上编译生成Windows可执行文件。在终端中执行以下命令:

    env GOOS=windows GOARCH=amd64 go build -o output.exe your_go_file.go
    

    如果是包含C库,考虑如下指令:

    export CGO_CFLAGS="-I/usr/local/include -I/usr/local/include/pbc -I/usr/local/gmp-6.2.1"
    export CGO_LDFLAGS="-L/usr/local/lib -L/usr/local/gmp-6.2.1 -L/usr/local/pbc-0.5.14 -lgmp -lgmp"
    env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc go build -ldflags "-s -w" -o output.exe your_go_file.go
    

    1.mingw32-gcc.exe 编译器将在 32 位系统上构建 32 位应用程序。
    2.i686-w64-mingw32-gcc.exe 编译器将在 64 位系统上构建 32 位应用程序。
    3.x86_64-w64-mingw32-gcc.exe 编译器将在 64 位系统上构建 64 位应用程序。
    这将使用GOOS=windowsGOARCH=amd64环境变量告诉Go编译器生成Windows可执行文件,并将其输出到output.exe文件中。确保将your_go_file.go替换为您要编译的实际Go源代码文件。

  4. **传输文件:**将生成的output.exe文件从Linux系统传输到Windows系统。您可以使用scp、ftp或任何其他您熟悉的文件传输工具。

  5. **在Windows上运行:**在Windows系统上双击或在命令提示符中运行output.exe文件,即可执行您的Go程序。

这些步骤将帮助您在Linux上编译并在Windows上运行Go程序。确保您已按照以上步骤进行操作,并检查生成的可执行文件是否能够在Windows上正常运行。
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/include” CGO_LDFLAGS=“-L/usr/local/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe main.go
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/gmp-6.2.1/include” CGO_LDFLAGS=“-L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe main.go
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/include -I/usr/local/gmp-6.2.1/include” CGO_LDFLAGS=“-L/usr/local/lib -L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe main.go
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/include -I/usr/local/gmp-6.2.1/include -I/usr/local/include/pbc” CGO_LDFLAGS=“-L/usr/local/lib -L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe main.go
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/include/pbc -I/usr/local/gmp-6.2.1/include” CGO_LDFLAGS=“-L/usr/local/lib -L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe -lpbc -lgmp main.go
sudo env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/include/pbc /usr/local/gmp-6.2.1” CGO_LDFLAGS=“-L/usr/local/lib -L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe -lpbc -lgmp main.go
sudo env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-I/usr/local/include/pbc -I/usr/local/gmp-6.2.1/include” CGO_LDFLAGS=“-L/usr/local/lib -L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe -lpbc -lgmp main.go
sudo env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc -lpbc -lgmp CGO_CFLAGS=“-I/usr/local/include/pbc -I/usr/local/gmp-6.2.1/include” CGO_LDFLAGS=“-L/usr/local/lib -L/usr/local/gmp-6.2.1/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe main.go
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CGO_CFLAGS=“-lpbc -lgmp -I/usr/local/include -I/usr/local/gmp-6.2.1” CGO_LDFLAGS=“-L/usr/local/lib” GOOS=windows GOARCH=amd64 go build -ldflags “-s -w” -o output.exe main.go

env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc go build -ldflags “-s -w” -o output.exe main.go

相关推荐

  1. Linux编译Go运行Windows记录

    2024-04-04 02:40:02       39 阅读
  2. 如何 windows运行 linux 程序

    2024-04-04 02:40:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 02:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 02:40:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 02:40:02       82 阅读
  4. Python语言-面向对象

    2024-04-04 02:40:02       91 阅读

热门阅读

  1. vue单页面应用(SPA)的首屏加载速度优化

    2024-04-04 02:40:02       37 阅读
  2. 关于调试打印

    2024-04-04 02:40:02       148 阅读
  3. linux shell脚本不加载环境变量问题

    2024-04-04 02:40:02       35 阅读
  4. 观察者模式

    2024-04-04 02:40:02       31 阅读
  5. openGauss 反向全量迁移

    2024-04-04 02:40:02       36 阅读
  6. 并查集

    并查集

    2024-04-04 02:40:02      33 阅读
  7. 【Redis】初识 Redis

    2024-04-04 02:40:02       38 阅读
  8. 【动态规划】【背包问题】基础背包

    2024-04-04 02:40:02       42 阅读
  9. 【Kotlin】Sequence简介

    2024-04-04 02:40:02       34 阅读
  10. 东方 - 循环(2) - 求和计数

    2024-04-04 02:40:02       29 阅读