SDL_app: emulator-arm.exe -应用程序错误的一种解决方法

作者分享了解决Android模拟器启动过程中遇到错误的经验。通过将Name中的第一个字母改为大写,成功解决了问题。建议尝试此方法以避免类似错误。

作者:两片森林

最近在使用android自带的模拟器的时候,发现每次启动模拟器,总是会发生如下的错误:

     

于是笔者开始从网站去查找一些资料。其中有些人提供了如下的方法:

(1)、不设置SD Card size  

              

(2)、设置SD Card Size 的大小,同时将snapshot进行勾选

           


但是笔者经过实验之后,发现这种方法并没有效果。后来笔者采用了如下的方法,该方法可以解决了上述的问题。

那就是将Name中的第一个字母改成了大写,问题解决。



至此,问题解决,估计有人会用另外一种方法,那就是将360卫士退出。笔者没有试验这种方法是否可行!

                


error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [112 lines of output] Skipping Cython compilation WARNING, No "Setup" File Exists, Running "buildconfig/config.py" Using WINDOWS configuration... Making dir :prebuilt_downloads: Downloading... https://www.libsdl.org/release/SDL2-devel-2.28.4-VC.zip 25ef9d201ce3fd5f976c37dddedac36bd173975c Unzipping :prebuilt_downloads\SDL2-devel-2.28.4-VC.zip: Downloading... https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip 137f86474691f4e12e76e07d58d5920c8d844d5b Unzipping :prebuilt_downloads\SDL2_image-devel-2.0.5-VC.zip: Downloading... https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.1/SDL2_ttf-devel-2.20.1-VC.zip 371606aceba450384428fd2852f73d2f6290b136 Unzipping :prebuilt_downloads\SDL2_ttf-devel-2.20.1-VC.zip: Downloading... https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.6.2/SDL2_mixer-devel-2.6.2-VC.zip 000e3ea8a50261d46dbd200fb450b93c59ed4482 Unzipping :prebuilt_downloads\SDL2_mixer-devel-2.6.2-VC.zip: Downloading... https://github.com/pygame/pygame/releases/download/2.1.3.dev4/prebuilt-x64-pygame-2.1.4-20220319.zip 16b46596744ce9ef80e7e40fa72ddbafef1cf586 Unzipping :prebuilt_downloads\prebuilt-x64-pygame-2.1.4-20220319.zip: copying into .\prebuilt-x64 Path for SDL: prebuilt-x64\SDL2-2.28.4 ...Library directory for SDL: prebuilt-x64/SDL2-2.28.4/lib/x64 ...Include directory for SDL: prebuilt-x64/SDL2-2.28.4/include Path for FONT: prebuilt-x64\SDL2_ttf-2.20.1 ...Library directory for FONT: prebuilt-x64/SDL2_ttf-2.20.1/lib/x64 ...Include directory for FONT: prebuilt-x64/SDL2_ttf-2.20.1/include Path for IMAGE: prebuilt-x64\SDL2_image-2.0.5 ...Library directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/lib/x64 ...Include di
最新发布
09-20
<think> 根据用户的问题描述,在构建wheel时出现'subprocess-exited-with-error'错误,涉及pygame库和SDL相关库的下载配置。结合引用内容,dll缺失是关键问题,建议通过whl安装pygame,并选择与Python版本匹配的whl文件(例如Python3.11对应cp311)。此外,二进制安装方式也是一种解决方案。 解决方案步骤: 1. 确认Python版本:在命令行运行`python --version`或`python3 --version`,记下版本号(如3.11.x)。 2. 根据Python版本下载对应的pygame预编译whl文件。访问pygame的官方下载页面(https://pypi.org/project/pygame/#files)或第三方镜像站,查找与你的Python版本和操作系统匹配的whl文件(例如:`pygame-2.5.2-cp311-cp311-win_amd64.whl`)。 3. 使用pip安装下载的whl文件:`pip install 下载的whl文件路径`。 4. 如果上述方法无效,尝试通过二进制安装方式(使用预编译的安装程序)安装pygame,参考引用中的链接:http://c.biancheng.net/pygame/installer.html 如果用户仍然需要从源码构建,则需要确保SDL库正确安装并配置: - 对于Windows用户,下载SDL的预编译库(包括SDL2、SDL2_image、SDL2_mixer、SDL2_ttf等),并将这些库的include目录和lib目录分别添加到环境变量中,或者在安装时指定路径。 - 对于Linux用户,使用包管理器安装SDL开发库(如`libsdl2-dev`等)。 由于用户提到错误涉及SDL库的下载和配置,因此需要仔细检查SDL库是否安装正确,以及编译工具链(如gcc、make等)是否可用。 如果用户希望从源码编译pygame,可以尝试以下步骤: 1. 安装SDL库依赖: - Ubuntu/Debian: `sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev` - Fedora: `sudo dnf install SDL2-devel SDL2_image-devel SDL2_mixer-devel SDL2_ttf-devel` 2. 安装Python开发依赖:`sudo apt-get install python3-dev`(或对应版本) 3. 使用pip安装pygame(从源码):`pip install pygame --no-binary :all:` 但请注意,从源码编译可能会遇到各种依赖问题,因此推荐使用预编译的whl文件。 相关问题: 1. 如何确认Python版本对应的whl文件命名规则? 2. 在Windows上如何安装SDL库以便编译pygame? 3. 除了pygame,还有哪些Python库在安装时容易遇到类似的编译错误? </think> 针对构建 Pygame wheel 时出现 `subprocess-exited-with-error` 错误的问题(涉及 SDL 库),以下是系统解决方案: ### 核心解决步骤 1. **安装 SDL 依赖库** 必须手动安装 Pygame 编译所需的 SDL2 开发库: ```bash # Ubuntu/Debian sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev # Windows (通过 vcpkg) git clone https://github.com/Microsoft/vcpkg.git .\vcpkg\bootstrap-vcpkg.bat .\vcpkg install sdl2 sdl2-image sdl2-mixer sdl2-ttf --triplet x64-windows ``` 2. **改用预编译二进制安装** **这是最推荐方案**,根据 Python 版本选择匹配的 wheel: ```bash pip install pygame --prefer-binary # 自动选择兼容版本 ``` 或手动下载对应版本的 wheel: ```bash # 示例:Python 3.11 的安装命令 pip install pygame-2.5.2-cp311-cp311-win_amd64.whl ``` → [官方 Pygame 预编译包列表](https://pypi.org/project/pygame/#files) 3. **验证环境配置** ```bash # 检查 SDL 库是否被识别 python -m pygame --version # 输出应包含 "SDL" 版本信息,例如:pygame 2.5.2 (SDL 2.28.3) ``` --- ### 故障排除补充 - **Python 版本匹配** 务必确认 wheel 文件名中的 CP 版本(如 `cp311` = Python 3.11),不匹配会导致编译失败[^1]。 - **Windows 依赖修复** 安装 Microsoft C++ 生成工具: ```bash pip install setuptools_scm # 修复编译工具链 ``` - **强制源码编译(备用方案)** ```bash pip install pygame --no-binary pygame \ --global-option="build_ext" \ --global-option="-I/path/to/SDL/include" \ --global-option="-L/path/to/SDL/lib" ``` --- ### 关键原理 此错误通常源于: 1. **SDL 库缺失**:Pygame 依赖 SDL 的多媒体组件 2. **编译器兼容性问题**:Windows 缺少 MSVC 编译工具链 3. **ABI 不匹配**:源码编译与当前 Python 环境不兼容 > 📌 优先采用预编译 wheel 可规避 99% 的编译问题[^1]。SDL 库需通过系统级包管理器单独安装。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值