# Dev-C++ 运行说明 本项目可以尝试在 Dev-C++ 中运行,但更推荐使用 VS Code 和 `build-mingw.ps1` 脚本。Dev-C++ 对资源文件、Unicode 入口和链接库的处理更容易出现环境差异。 ## 1. 工程类型 新建工程时请选择: ```text Windows Application ``` 不要选择控制台程序。 ## 2. 需要加入工程的源码 源文件: ```text src/source/stdafx.cpp src/source/Tetris.cpp src/source/TetrisLogic.cpp src/source/TetrisRender.cpp src/source/TetrisRogue.cpp ``` 头文件目录: ```text src/include ``` 建议把以下头文件加入工程树,便于查看: ```text src/include/stdafx.h src/include/Tetris.h src/include/TetrisLogicInternal.h src/include/targetver.h src/include/resource.h ``` ## 3. 资源文件 资源文件为: ```text src/resources/Tetris.rc ``` 如果 Dev-C++ 能正常编译资源,可以加入该文件。 如果资源编译失败,可以先不加入资源文件,只编译 C++ 源码。这样程序主体仍可运行,但图标、菜单等资源可能不完整。 ## 4. 编译设置 建议: - C++ 标准:`C++17` - 工程类型:Windows 程序 - 字符集:Unicode 建议预处理宏: ```text UNICODE _UNICODE _WINDOWS ``` 建议编译 / 链接参数: ```text -mwindows -municode ``` ## 5. 链接库 需要链接以下库: ```text winmm gdi32 user32 comdlg32 ole32 gdiplus shell32 ``` 如果出现 `undefined reference`,优先检查这些库是否正确加入。 ## 6. 资源目录 运行时请保留: ```text assets/icons/ assets/images/ assets/audio/ assets/video/ ``` 这些资源用于: - 程序图标 - 背景图片 - 背景音乐 - 视频复活 如果工作目录设置不正确,程序可能找不到这些资源。 ## 7. 常见问题 ### 资源文件编译失败 Dev-C++ 的 `windres` 对资源文件编码和路径比较敏感。可以先不加入 `Tetris.rc`,或者改用项目自带脚本构建。 ### 无法识别 `_tWinMain` 说明工程类型或 Unicode 参数不正确。请确认使用 Windows Application,并启用 Unicode 相关宏和 `-municode`。 ### 背景、音乐或视频缺失 说明运行目录找不到 `assets/`。建议从项目根目录运行,或保持 exe 与资源目录的相对位置。 ### 链接失败 检查是否加入了 `winmm`、`gdiplus`、`shell32` 等库。 ## 8. 建议 Dev-C++ 适合作为备用运行方式。 如果要稳定构建、调试和课堂展示,建议优先使用: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1 ```