Golang在Linux Mint系统下使用VS Code安装SDL2/Raylib的步骤指南
Golang在Linux Mint系统下使用VS Code安装SDL2/Raylib的步骤指南 大家好,有人能帮我在我的电脑上安装sdl2或raylib吗? 我是Go语言新手,想通过制作一些小游戏来学习它。 但我首先需要安装一个图形库,而安装过程感觉太让人抓狂了!
我尝试了YouTube视频里的安装提示,但在1.18版本上似乎不起作用?
Game Dev With Go: Flappy Bird(ish)
Games With Go EP 06 - SDL2 Setup
我的控制台输出:
notevil@Furya:~$ go get -v -u _link_.com/gen2brain/raylib-go/raylib
go: go.mod file not found in current directory or any parent directory.
‘go get’ is no longer supported outside a module.
To build and install a command, use ‘go install’ with a version,
like ‘go install example.com/cmd@latest’
For more information, see _link_
or run ‘go help get’ or ‘go help install’.
notevil@Furya:~$ go install -v -u _link_@latest
flag provided but not defined: -u
usage: go install [build flags] [packages]
Run ‘go help install’ for details.
notevil@Furya:~$ go install _link_@latest
package _link_.com/gen2brain/raylib-go/raylib is not a main package
notevil@Furya:~$
而对于sdl2,我在VS Code中遇到了导入错误:
could not import _link_.com/veandco/go-sdl2/sdl (cannot find package “_link_.com/veandco/go-sdl2/sdl” in any of
/home/notevil/.go/src/github.com/veandco/go-sdl2/sdl (from $GOROOT)
/home/notevil/go/src/github.com/veandco/go-sdl2/sdl (from $GOPATH))compilerBrokenImport
更多关于Golang在Linux Mint系统下使用VS Code安装SDL2/Raylib的步骤指南的实战教程也可以访问 https://www.itying.com/category-94-b0.html
谁能告诉我,在 Go 的上下文中,“不是一个主包”是什么意思?
go install _link_.com/veandco/go-sdl2/{sdl,img,mix,ttf}@latest
go: downloading _link_.com/veandco/go-sdl2 v0.4.17
package _link_.com/veandco/go-sdl2/sdl is not a main package
package _link_.com/veandco/go-sdl2/img is not a main package
package _link_.com/veandco/go-sdl2/mix is not a main package
package _link_.com/veandco/go-sdl2/ttf is not a main package
是 1.18 版本的问题吗?大约一年前,我的笔记本电脑上有一个旧版本,并且安装了 sdl2。
更多关于Golang在Linux Mint系统下使用VS Code安装SDL2/Raylib的步骤指南的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在Linux Mint上安装SDL2和Raylib的步骤
1. 安装系统依赖
首先安装必要的系统库:
# 更新包管理器
sudo apt update
# 安装SDL2开发库
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
# 安装Raylib开发库
sudo apt install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev
2. 初始化Go模块
从你的错误信息看,你需要在项目目录中初始化Go模块:
# 创建项目目录
mkdir my-game-project
cd my-game-project
# 初始化Go模块
go mod init mygame
# 这将创建go.mod文件
3. 安装Go绑定库
对于Raylib:
# 安装raylib-go
go get github.com/gen2brain/raylib-go/raylib
# 或者使用go install安装示例程序
go install github.com/gen2brain/raylib-go/raylib/examples/core/2d_camera@latest
对于SDL2:
# 安装go-sdl2
go get github.com/veandco/go-sdl2/sdl
go get github.com/veandco/go-sdl2/img
go get github.com/veandco/go-sdl2/mix
go get github.com/veandco/go-sdl2/ttf
4. 验证安装
创建测试文件验证安装是否成功:
Raylib测试 (main.go):
package main
import rl "github.com/gen2brain/raylib-go/raylib"
func main() {
rl.InitWindow(800, 450, "Raylib Go Test")
defer rl.CloseWindow()
rl.SetTargetFPS(60)
for !rl.WindowShouldClose() {
rl.BeginDrawing()
rl.ClearBackground(rl.RayWhite)
rl.DrawText("Raylib Go Works!", 190, 200, 20, rl.LightGray)
rl.EndDrawing()
}
}
运行测试:
go run main.go
SDL2测试 (sdl_test.go):
package main
import (
"fmt"
"github.com/veandco/go-sdl2/sdl"
)
func main() {
if err := sdl.Init(sdl.INIT_EVERYTHING); err != nil {
fmt.Printf("Failed to initialize SDL: %v\n", err)
return
}
defer sdl.Quit()
window, err := sdl.CreateWindow("SDL2 Test",
sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
800, 600, sdl.WINDOW_SHOWN)
if err != nil {
fmt.Printf("Failed to create window: %v\n", err)
return
}
defer window.Destroy()
fmt.Println("SDL2 initialized successfully!")
sdl.Delay(2000)
}
运行测试:
go run sdl_test.go
5. VS Code配置
确保VS Code的Go扩展已安装并正确配置。如果仍有导入错误,尝试:
# 在项目目录中整理依赖
go mod tidy
# 或者清除模块缓存
go clean -modcache
6. 常见问题解决
如果遇到CGO链接问题,设置环境变量:
# 在~/.bashrc或~/.zshrc中添加
export CGO_ENABLED=1
export CC=gcc
# 然后重新加载
source ~/.bashrc
对于权限问题:
# 确保go路径在PATH中
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
7. 完整安装脚本
创建安装脚本 setup.sh:
#!/bin/bash
echo "Installing system dependencies..."
sudo apt update
sudo apt install -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
sudo apt install -y libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev
echo "Setting up Go project..."
mkdir -p ~/go-projects/game-learning
cd ~/go-projects/game-learning
go mod init game-learning
echo "Installing Go libraries..."
go get github.com/gen2brain/raylib-go/raylib
go get github.com/veandco/go-sdl2/sdl
echo "Installation complete!"
给脚本执行权限并运行:
chmod +x setup.sh
./setup.sh
这些步骤应该能解决你在Linux Mint上安装SDL2和Raylib的问题。如果遇到特定错误,请提供具体的错误信息以便进一步诊断。

