首页 > 系统相关 >Golang 编译windows应用程序

Golang 编译windows应用程序

时间:2024-11-12 18:30:18浏览次数:1  
标签:gcc TARGET windows w64 Golang 编译 GOARCH 应用程序

因为我们更喜欢在Linux上开发程序, 所以生成交叉编译器,以便在Linux上交叉编译出windows程序。

安装minGW:在Linux上运行gcc交叉编译生成windows程序

我们用到Cgo,因此需要安装 C 语言交叉编译器

sudo apt-get install gcc-mingw-w64

下载Go语言的源代码

git clone https://github.com/golang/go.git

32-bit go-compiler for windows

GOOS=windows GOARCH=386 CGO_ENABLED=1 CXX_FOR_TARGET=i686-w64-mingw32-g++ CC_FOR_TARGET=i686-w64-mingw32-gcc ./make.bash

64-bit 编译器

GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CXX_FOR_TARGET=x86_64-w64-mingw32-g++ CC_FOR_TARGET=x86_64-w64-mingw32-gcc ./make.bash

非交叉编译,生成Linux程序

GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CXX_FOR_TARGET=g++ CC_FOR_TARGET=gcc ./make.bash

生成Go编译器之后,以下命令执行交叉编译,生成windows程序

GOOS=windows GOARCH=386 go build

Cgo

最终的目标是要生成windows程序,所以Cgo引用的库文件也必须是windows版本的。 以ffmpeg库为例:参考截图,在ffmpeg文件夹之下,新建一个文件夹,名为libwin, 用于保存windows版本的库文件(dll文件)。

pkgconfig 也需要做相应调整。而头文件无需变动。

准备工作只有这么多了。通过指定pkgconfig的路径,就能够交叉编译Cgo程序了。 GOOS=windows GOARCH=386 PKG_CONFIG_PATH=/foo/bar go build

2015-04-21 作者 Sleepy Programmer

标签:gcc,TARGET,windows,w64,Golang,编译,GOARCH,应用程序
From: https://www.cnblogs.com/jiftle/p/18542430

相关文章

  • nvm-windows 安装教程
    1卸载本地node.js2安装NVM2.1下载GitHub:https://github.com/coreybutler/nvm-windows版本列表:https://github.com/coreybutler/nvm-windows/tags2.2安装1、选择安装目录2、选择nodejs安装目录3、检查是否安装完成4、检查环境变量2.3配置路径和下载源#编辑......
  • 在 Windows 系统中,DFS (Distributed File System) 是一种用于文件共享和管理的技术,能
    在Windows系统中,DFS(DistributedFileSystem)是一种用于文件共享和管理的技术,能够让多个服务器上的共享文件夹(共享资源)通过一个统一的命名空间来访问。DFS主要通过DFS命名空间和DFS复制这两个组件来实现。DFS相关命令和功能在Windows中,DFS相关的命令通常是通过......
  • golang 实现比特币内核:公钥的 SEC 编码格式详解
    比特币作为区块链的一个应用,它建立在分布式系统之上,‘节点’遍布全球。为了使所有节点协同工作并作为一个整体系统运行,需要保持所有节点同步在相同的状态中,也就是说节点之间需要频繁通信,并且相互交换大量数据消息。这要求在网络上传输的消息或数据要使用某种格式编码,以确保......
  • Docker:助力应用程序开发的利器
    Docker:助力应用程序开发的利器在当今复杂多变的软件开发和部署领域,Docker如同璀璨之星,闪耀着独特的光芒。它已经深刻地改变了我们开发、测试和部署应用程序的方式,成为了现代技术栈中不可或缺的一环。本文将为您详细介绍Docker的基本概念、显著优势以及其在应用程序开发......
  • Windows 免安装运行MariaDB 11.4
    下载https://mariadb.org/download/?t=mariadb&o=true&p=mariadb&r=11.4.4&os=windows&cpu=x86_64&pkg=zip&mirror=xtom_hk解压解压到指定位置(建议放在SSD所在盘符),如:D:\mariadb-11.4.4设置用户环境变量添加新的用户环境变量:MARIADB_HOMEC:\green\mariadb-11.4.4添加......
  • Windows Resource Protection (WRP) 是微软引入的一项系统保护机制,旨在保护 Windows
    什么是WindowsResourceProtection(WRP)?WindowsResourceProtection(WRP)是微软引入的一项系统保护机制,旨在保护Windows操作系统中的关键资源,包括系统文件、驱动程序、注册表设置以及系统配置文件等。WRP是WindowsVista中首次引入的,它加强了对操作系统核心文件和资源的......
  • System File Checker(简称 SFC)是 Windows 操作系统中的一个内置工具,用于扫描和修复损坏
    SystemFileChecker(简称SFC)是Windows操作系统中的一个内置工具,用于扫描和修复损坏或丢失的系统文件。它帮助用户恢复Windows操作系统中重要的文件和组件,以确保操作系统能够正常运行。什么是SFC(SystemFileChecker)?SFC是一个命令行工具,通过扫描Windows系统中的保护文件......
  • 在Windows 10中,设置默认浏览器通常需要通过图形界面进行操作,但也可以通过批处理文件(BA
    在Windows10中,设置默认浏览器通常需要通过图形界面进行操作,但也可以通过批处理文件(BAT)或者注册表(REG)文件来间接实现。这些方法比较复杂,且可能会有一定的风险,请在执行前确保备份相关数据。方法1:通过注册表(REG)文件设置默认浏览器默认浏览器的信息存储在注册表中,可以通过修改注册......
  • SonarQube 10.5 for macOS, Linux, Windows 下载 - 代码质量、安全与静态分析工具
    SonarQube10.5(macOS,Linux,Windows)-代码质量、安全与静态分析工具SonarQubeDataCenterEdition(JavaAppformacOS,Linux,Windows)请访问原文链接:https://sysin.org/blog/sonarqube-10/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgSonarCleanCo......
  • 运用Windows API进行编程
    目录运用WindowsAPI进行编程实验环境窗口创建基本流程基本代码流程1、头文件和库2、全局变量和函数3、入口主函数4、注册窗口类函数5、创建和显示窗口函数6、窗口过程函数运行结果实验小结运用WindowsAPI进行编程运行Windows应用程序在桌面显示Windows窗口。窗口内背景色为灰......