您现在的位置是:网站首页> Go语言

在Windows 10专业版搭建Fyne(Go 跨平台GUI)开发环境

摘要

在Windows 10专业版搭建Fyne(Go 跨平台GUI)开发环境


点击查看原文

国人整理的开放文档

点击查看源码

点击进入创建者主页

点击查看原文档

目录

Fyne 和 MSYS2简介

安装 MSYS2

安装Fyne打包


强制设置环境变量,最好在终端管理员Shell里执行: setx ANDROID_NDK_HOME "C:\android-ndk-r20b"


一 Fyne 和 MSYS2简介

1.1 Fyne

fyne 是一个用于 Go 语言的 GUI 包,它提供了一个简单而强大的界面构建框架。

 fyne 的核心是一个事件驱动的渲染引擎,它可以轻松地创建具有丰富交互性的图形界面。该框架提供了丰富的内置控件,如按钮、文本框、标签、列表等,并且支持自定义控件的创建。

 此外,fyne 还提供了一系列的工具和函数,用于处理界面事件、绘制图形、处理图像和字体等。它还支持跨平台开发,可以在 Windows、macOS 和 Linux 等多个操作系统上运行。

 总的来说,fyne 是一个非常强大和灵活的 GUI 包,可以帮助开发人员快速创建具有高交互性的图形界面。它简单易用,并且具有很高的可扩展性,可以满足各种不同的界面需求。


1.2 MSYS2

MSYS2 是一个基于 MinGW-w64 的发行版,它提供了一个完整的 POSIX 工具链和开发环境,可以让开发人员在 Windows 上轻松地进行开源开发。


MSYS2 包括了许多流行的开源工具,如 GCC、GDB、Make、Python、Perl 等等。它还提供了一个 Bash shell,可以让开发人员像在 Linux 上一样使用命令行。


使用 MSYS2,开发人员可以编译、调试和运行各种开源软件,包括 C、C++、Java、Python 等语言的程序。此外,MSYS2 还可以与其他 Windows 应用程序无缝集成,例如 Microsoft Visual Studio、 Eclipse CDT 等。


总的来说,MSYS2 是一个非常强大和灵活的发行版,为开发人员在 Windows 上进行开源开发提供了一个完整的解决方案。



二 安装 MSYS2

2.1 下载MSYS2

MSYS2下载地址


2.2 安装

选择安装目录(根据个人喜好进行选择),如图1:

1.png


 安装完成,如图2:

 

2.png


 启动UCRT64环境:

3.png


 执行以下安装命令:

pacman -Syu

pacman -S git mingw-w64-x86_64-toolchain

pacman -S mingw-w64-ucrt-x86_64-gcc

gcc --version

各环境的差别,

1.png

2.3 环境变量设置

环境变量设置包括windows环境变量设置和UCRT64两个环境,Windows 环境需要加入:


1.png


 UCRT64环境变量PATH加入Go的bin目录:

1.png

 执行:

source .bashrc

go version

go install fyne.io/fyne/v2/cmd/fyne@latest

正确显示go版本及安装fyne命令行,即配置成功!


2.4 检测安装环境

下载Fyne Setup

解压后双击exe文件,显示如下则环境配置成功!

 

1.png

 注意:使用Goland进行开发时,编译环境需加入:


CC=gcc;CGO_ENABLED=1;GOARCH=amd64;GOOS=windows

CC=gcc;CGO_ENABLED=1;GOARCH=amd64;GOOS=windows

否则报错:


也可使用mingw64编译配置如下:

##########开始

# native compiler windows amd64


GOROOT=c:\Go

#GOBIN=

GOARCH=amd64

GOOS=windows

CGO_ENABLED=1


CC=C:\mingw64\bin\gcc.exe

CXX=C:\mingw64\bin\g++.exe



PATH=c:\mingw64\bin;%GOROOT%\bin;%PATH%


LITEIDE_GDB=gdb64

LITEIDE_MAKE=mingw32-make

LITEIDE_TERM=%COMSPEC%

LITEIDE_TERMARGS=

LITEIDE_EXEC=%COMSPEC%

LITEIDE_EXECOPT=/C

##########结束


中文显示乱码解决方法:

 在main包中init函数加入:

func init() {

//设置中文字体:解决中文乱码问题

fontPaths := findfont.List()

for _, path := range fontPaths {

if strings.Contains(path, "msyh.ttf") || strings.Contains(path, "simhei.ttf") || strings.Contains(path, "simsun.ttc") || strings.Contains(path, "simkai.ttf") {

os.Setenv("FYNE_FONT", path)

break

}

}

}

Windows下打包:


fyne package -os windows -icon app.jpg

三 参考文档

3.1 Fyne 官方帮助文档



安装

使用go install将可执行文件复制到您的 gobin目录中。要将带有图标等的应用程序安装到操作系统的标准应用程序位置,您可以使用 fyne 实用程序和“install”子命令。

go install fyne.io/fyne/v2/cmd/fyne@latest

fyne install


手机包装

要在移动设备上运行,必须打包应用程序。为此,我们可以使用 fyne 实用程序“package”子命令。您需要根据提示添加适当的参数,但基本命令如下所示。打包后,您可以使用平台开发工具或 fyne“install”子命令进行安装。

fyne package -os android -appID my.domain.appname -icon mobileIcon.png

也可以

fyne package -os android/arm64 -appID my.domain.appname -icon mobileIcon.png

fyne install -os android

构建的 Android 应用程序可以在真实设备或 Android 模拟器中运行。但是,为 iOS 构建略有不同。如果“-os”参数为“ios”,则它仅适用于真实的 iOS 设备。将“-os”指定为“iossimulator”可让应用程序在 iOS 模拟器中运行:

fyne package -os ios -appID my.domain.appname -icon mobileIcon.png

fyne package -os iossimulator -appID my.domain.appname -icon mobileIcon.png


编译windows程序

fyne package -os windows -icon favicon.ico --name test.exe


准备发布

使用 fyne 实用程序“release”子命令,您可以打包您的应用以发布到应用商店和市场。确保您已安装标准构建工具,并已按照平台文档设置帐户和签名。然后您可以执行类似下面的操作,请注意该-os ios参数允许从 macOS 计算机构建 iOS 应用。其他组合也同样有效 :)

$ fyne release -os ios -certificate "Apple Distribution" -profile "My App Distribution" -appID "com.example.myapp"

上述命令将创建一个“.ipa”文件,然后可以将其上传到 iOS App Store。





Top