EbitenCookBook中文教程 第一课:安装 Ebiten
本文实时更新原址:https://ebitencookbook.vercel.app/docs/CookBook_Start/class1
第一课 安装 Ebiten
欢迎大家来到 Ebiten 中文教程.
今天我们正式开始学习Ebiten的开发.
安装开发环境
也可以参照官方教程(中文文档): https://ebiten-zh.vercel.app/documents/install.html
1. 安装操作系统
没有的话建议remake.
2. 安装依赖
使用Windows系统的朋友请直接跳到下一步.
FreeBSD 比较特殊,需要先安装桌面环境,详情见官方教程.
C编译器
macOS,Linux,FreeBSD需要先安装C编译器(基本上使用gcc)
macOS
据说在最新的MacOS上,在命令行输入clang后,如果没有C编译器,系统会引导您安装.
其他版本的MacOS还可以通过brew install gcc安装.
:::important
如果在安装时报出以下错误:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
可以通过运行 xcode-select --install 来安装.
:::
Linux
以Linux发行版Ubuntu为例,运行:
sudo apt install gcc
其他发行版请使用各自的包管理器或源码安装gcc.
FreeBSD
如果使用pkg作为包管理器,就运行:
pkg install clang
当然也可以源码安装.
安装其他依赖
Linux 发行版
Debian/Ubuntu
sudo apt install libc6-dev libglu1-mesa-dev libgl1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev libasound2-dev pkg-config
Fedora
sudo dnf install mesa-libGLU-devel mesa-libGLES-devel libXrandr-devel libXcursor-devel libXinerama-devel libXi-devel libXxf86vm-devel alsa-lib-devel pkg-config
Solus
sudo eopkg install libglu-devel libx11-devel libxrandr-devel libxinerama-devel libxcursor-devel libxi-devel libxxf86vm-devel alsa-lib-devel pkg-config
Arch
sudo pacman -S mesa libxrandr libxcursor libxinerama libxi pkg-config
Alpine
sudo apk add alsa-lib-dev libx11-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev mesa-dev pkgconf
FreeBSD
pkg install alsa-lib libxcursor libxi libxinerama libxrandr mesa-libs pkgconf
3. 安装Golang
没有的话还是建议remake.
如果还没安装的话,可以到golang.google.cn/dl(国内镜像)或go.dev/dl(全球)下载.
建议直接装最新版本,因为 Ebiten 向上兼容.
:::important
Ebiten v2.2.5 要求最低Go版本: 1.15.
:::
如果您在控制台(CMD或bash等)输入 go version 后,命令行输出类似以下的内容,证明Golang安装成功.
$ go version
go version go1.17.5 windows/amd64
4. 下载Ebiten库
:::important
如果您在中国大陆地区,可以使用goproxy.cn提供的国内代理加速.
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
:::
运行以下指令:
go get github.com/hajimehoshi/ebiten/v2
:::note
这里一定不要漏掉最后的v2,否则会安装Ebiten v1.12.
:::
5. 测试安装
运行以下指令,测试安装是否成功.
go run -tags=example github.com/hajimehoshi/ebiten/v2/examples/rotate
当你的屏幕上出现了一个窗口,并显示下面这幅图片,证明Ebiten安装成功并可以成功编译运行example/rotate.

!end time: 2022-04-03 23:50
EbitenCookBook中文教程 第一课:安装 Ebiten的更多相关文章
- OpenCV 第一课(安装与配置)
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
- [原创]零基础R语言教程---第一课---认识R语言
教程的录制的确是折腾了一番,一连录了二十多遍,有时候激动的说错了字,有时候不知道下一句说啥.. 不过好在第一课已经搞定了,哈哈. 虽然内容现在看起来还有点简单, 不过牛b也是一个过程嘛. 我会坚持下去 ...
- C++自学教程第一课——你好世界,我是柠檬鲸。
C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...
- Nehe OpenGL教程第一课-创建一个OpenGL窗口(Win32)
原文英文地址为:Creating an OpenGL Window (Win32),翻译的chm中文格式文档下载地址为:OpenGL教程电子书(chm格式)中文版,源代码在官网上也可以下载到,每 ...
- CodeIgniter框架入门教程——第一课 Hello World!
本文转载自:http://www.softeng.cn/?p=45 今天开始,我将在这里连载由我自己编写的<CodeIgniter框架入门教程>,首先,这篇教程的读着应该是有PHP基础的编 ...
- NeHe OpenGL教程 第一课:OpenGL窗口
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Android OpenGL教程-第一课【转】
第一课 快速的开始一个Android OpenGL项目 首先,读懂我们的教程,需要有android的初步基础,我们这里只是通过android提供的SDK,来进行OpenGL的学习,所以你必须先学习如何 ...
- [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】
低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...
- 第一课 安装wamp环境
1.准备 怎样选择PHP的版本 IIS 如果想使用IIS配置PHP的话,那么需要选择Non-Thread Safe(NTS)版本的PHP Apache 如果你是用的Apache的版本来自Apache ...
随机推荐
- tensorflow源码解析之common_runtime拾遗
把common_runtime中剩余的内容,按照文件名排序进行了简单的解析,时间原因写的很仓促,算是占个坑,后续有了新的理解再来补充. allocator_retry 有时候内存分配不可能一次完成,为 ...
- 切换阿里巴巴开源镜像站镜像——Kali镜像
参考链接: 阿里巴巴开源镜像站 镜像切换参考链接:阿里云Kali镜像源 安装Kali Linux系统参考链接:使用VMware虚拟机安装kali Linux 一.打开终端命令窗口 二.进入source ...
- ZYNQ 启动问题 :FSBL
0.ZYNQ外部启动条件 1. 电源要求: 在阶段0 BootROM时,安全模式下PS与PL都是必须上电的:非安全模式PS需要上电,如图: 在阶段1 FSBL时,PS与PL都是必须上电的,因为PL将在 ...
- 7月2日 Django注册页面的form组件
forms.py里注册页面的form组件 # Create your views here. class RegForm(forms.Form): username = forms.CharField ...
- [转载]SQL注入绕过WAF的方法总结
基本/简单绕过方法: 1.注释符 http://www.0dayhack.com/index.php?page_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3,4-. 2.使用 ...
- 在 Kubernetes 上快速测试 Citus 分布式 PostgreSQL 集群(分布式表,共置,引用表,列存储)
准备工作 这里假设,你已经在 k8s 上部署好了基于 Citus 扩展的分布式 PostgreSQL 集群. 查看 Citus 集群(kubectl get po -n citus),1 个 Coor ...
- 记-beego项目调用Jenkins API获取job信息
type JenkinsController struct { beego.Controller } type Job struct { Name string `json:"name&qu ...
- kmp-getNext
#include <iostream> using namespace std; void getNext(char a[]){ int k=-1,i=0,next[10]; next[0 ...
- redis之 主从复制和哨兵(一)
一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性 1. 主从复制的相关操作 a,配置主从复制方式一.新增redis6380.conf, ...
- IDEA端口占用的解决方案
使用端口查找到对应的进程PID: netstat -ano | findstr "端口" 查找到对应PID的进程信息 tasklist /v /fi "PID eq &l ...