删除无用文件 整理README等文件

This commit is contained in:
2026-04-26 16:06:04 +08:00
parent 7db0bfadfc
commit 47ca7473ec
4 changed files with 290 additions and 293 deletions
+81 -124
View File
@@ -1,26 +1,8 @@
# Dev-C++ 运行说明
说明适用于需要在 `Dev-C++` 环境下编译本项目的情况
项目可以尝试在 Dev-C++ 中运行,但更推荐使用 VS Code 和 `build-mingw.ps1` 脚本。Dev-C++ 对资源文件、Unicode 入口和链接库的处理更容易出现环境差异
结论先说:
- 可以运行
- 但不如 VS Code + 脚本方式稳定
- 如果只是为了交作业或课堂展示,优先推荐使用项目自带的 MinGW 脚本
## 1. 适用环境
- Windows
- Dev-C++
- MinGW-w64
建议 Dev-C++ 所使用的编译器支持:
- `C++17`
- `windres`
- `-municode`
## 2. 建议工程类型
## 1. 工程类型
新建工程时请选择:
@@ -30,152 +12,127 @@ Windows Application
不要选择控制台程序。
## 3. 需要加入工程的文件
## 2. 需要加入工程的源码
### 源文件
源文件
把以下文件加入工程:
```text
src/source/stdafx.cpp
src/source/Tetris.cpp
src/source/TetrisLogic.cpp
src/source/TetrisRender.cpp
src/source/TetrisRogue.cpp
```
- `src/source/stdafx.cpp`
- `src/source/Tetris.cpp`
- `src/source/TetrisLogic.cpp`
- `src/source/TetrisRender.cpp`
- `src/source/TetrisRogue.cpp`
### 头文件
头文件不一定要加入编译列表,但建议加入工程树,便于浏览:
- `src/include/stdafx.h`
- `src/include/Tetris.h`
- `src/include/TetrisLogicInternal.h`
- `src/include/targetver.h`
- `src/include/resource.h`
### 资源文件
如果当前 Dev-C++ 环境支持资源编译,可以再加入:
- `src/resources/Tetris.rc`
## 4. 需要配置的选项
### 头文件搜索路径
加入:
头文件目录:
```text
src/include
```
### 链接库
确保链接以下库:
- `winmm`
- `gdi32`
- `user32`
- `comdlg32`
- `ole32`
- `gdiplus`
### 编译标准
建议设置为:
建议把以下头文件加入工程树,便于查看:
```text
C++17
src/include/stdafx.h
src/include/Tetris.h
src/include/TetrisLogicInternal.h
src/include/targetver.h
src/include/resource.h
```
### 预处理宏
## 3. 资源文件
建议定义
- `UNICODE`
- `_UNICODE`
- `_WINDOWS`
### 建议参数
如果需要手动补充:
- `-mwindows`
- `-municode`
## 5. 资源文件注意事项
Dev-C++ 下最容易出问题的是资源编译。
本项目资源包括:
- 图标
- 菜单
- 关于框
资源脚本为:
资源文件为
```text
src/resources/Tetris.rc
```
如果 Dev-C++ 对该资源文件编译不稳定,最稳妥的做法有两种。
如果 Dev-C++ 能正常编译资源,可以加入该文件。
如果资源编译失败,可以先不加入资源文件,只编译 C++ 源码。这样程序主体仍可运行,但图标、菜单等资源可能不完整。
### 做法一:不编译资源文件
## 4. 编译设置
先只编译 C++ 源文件。
建议:
这样:
- C++ 标准:`C++17`
- 工程类型:Windows 程序
- 字符集:Unicode
- 程序主体通常能正常运行
- 但窗口图标、菜单等资源可能缺失
建议预处理宏:
### 做法二:优先使用脚本构建
先在项目根目录执行:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
```text
UNICODE
_UNICODE
_WINDOWS
```
确认脚本方式可构建后,再视需要把 Dev-C++ 作为备用方案。
建议编译 / 链接参数:
## 6. 资源目录不要遗漏
```text
-mwindows
-municode
```
无论你用哪种方式运行,下面这些目录都不要删:
## 5. 链接库
- `assets/icons/`
- `assets/images/`
- `assets/audio/`
- `assets/video/`
需要链接以下库:
否则会影响:
```text
winmm
gdi32
user32
comdlg32
ole32
gdiplus
shell32
```
- 图标显示
如果出现 `undefined reference`,优先检查这些库是否正确加入。
## 6. 资源目录
运行时请保留:
```text
assets/icons/
assets/images/
assets/audio/
assets/video/
```
这些资源用于:
- 程序图标
- 背景图片
- 背景音乐
- 视频复活
如果工作目录设置不正确,程序可能找不到这些资源。
## 7. 常见问题
### 1)能编译但没有图标或菜单
### 资源文件编译失败
通常是资源文件没有正确编译进程序
Dev-C++ 的 `windres` 对资源文件编码和路径比较敏感。可以先不加入 `Tetris.rc`,或者改用项目自带脚本构建
### 2)编译时报 `gdiplus` 或 `winmm` 未定义引用
### 无法识别 `_tWinMain`
说明缺少链接库,请检查工程链接设置
说明工程类型或 Unicode 参数不正确。请确认使用 Windows Application,并启用 Unicode 相关宏和 `-municode`
### 3)运行时没有背景图 / 音乐 / 视频
### 背景、音乐或视频缺失
说明程序找不到 `assets/` 目录,通常是工作目录不对,或者运行时只复制了 `exe` 没带资源
说明运行目录找不到 `assets/`。建议从项目根目录运行,或保持 exe 与资源目录的相对位置
### 链接失败
检查是否加入了 `winmm``gdiplus``shell32` 等库。
## 8. 建议
如果你的目标是:
Dev-C++ 适合作为备用运行方式。
如果要稳定构建、调试和课堂展示,建议优先使用:
- 交作业
- 本地演示
- 快速稳定运行
请优先使用本项目已经配好的 `build-mingw.ps1` 和 VS Code 配置。
Dev-C++ 更适合作为兼容环境,而不是主开发环境。
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
```