# 修复 SDL2_image 链接错误计划

## 问题描述
链接时出现大量 undefined reference 错误，主要是关于 libjpeg 的函数：
- `jpeg_calc_output_dimensions`
- `jpeg_CreateDecompress`
- `jpeg_destroy_decompress`
- `jpeg_finish_decompress`
等等

## 问题原因
SDL2_image 依赖多个第三方库来支持不同的图片格式：
- libjpeg - JPEG 格式支持
- libpng - PNG 格式支持  
- libtiff - TIFF 格式支持
- libwebp - WebP 格式支持
等等

需要在 switch.lua 中添加这些依赖库的链接。

## 修复方案

### 修改 platform/switch.lua
在 `add_syslinks` 中添加 SDL2_image 所需的依赖库。

根据 devkitPro/portlibs 的通常配置，需要添加：
- libpng
- libjpeg
- zlib (libpng 依赖)
- 可能还需要其他库

## 具体修复代码

修改 `platform/switch.lua` 中的 `add_syslinks` 部分：

```lua
-- 修改前
add_syslinks("SDL2_mixer", "SDL2_image", "SDL2", "opusfile", "opus", "vorbisidec", "ogg",
                     "modplug", "mpg123", "FLAC", "GLESv2", "EGL", "glapi", "drm_nouveau",
                     {public = true})

-- 修改后
add_syslinks("SDL2_mixer", "SDL2_image", "SDL2", 
             "png", "jpeg", "z",  -- SDL2_image 依赖
             "opusfile", "opus", "vorbisidec", "ogg",
             "modplug", "mpg123", "FLAC", "GLESv2", "EGL", "glapi", "drm_nouveau",
             {public = true})
```

## 库的顺序说明
链接顺序很重要，被依赖的库要放在后面：
- SDL2_image 依赖 png、jpeg、z
- png 依赖 z
- 所以顺序是: SDL2_image → png → jpeg → z

## 备选方案
如果上面的库还不够，可以尝试添加更多库：
- `tiff` - TIFF 支持
- `webp` - WebP 支持
- `lzma` - 某些图片格式可能需要

## 测试步骤
1. 应用修复
2. 清理缓存
3. 重新编译
4. 验证链接成功
