182 lines
3.0 KiB
Markdown
182 lines
3.0 KiB
Markdown
# Dev-C++ 运行说明
|
|
|
|
本说明适用于需要在 `Dev-C++` 环境下编译本项目的情况。
|
|
|
|
结论先说:
|
|
|
|
- 可以运行
|
|
- 但不如 VS Code + 脚本方式稳定
|
|
- 如果只是为了交作业或课堂展示,优先推荐使用项目自带的 MinGW 脚本
|
|
|
|
## 1. 适用环境
|
|
|
|
- Windows
|
|
- Dev-C++
|
|
- MinGW-w64
|
|
|
|
建议 Dev-C++ 所使用的编译器支持:
|
|
|
|
- `C++17`
|
|
- `windres`
|
|
- `-municode`
|
|
|
|
## 2. 建议工程类型
|
|
|
|
新建工程时请选择:
|
|
|
|
```text
|
|
Windows Application
|
|
```
|
|
|
|
不要选择控制台程序。
|
|
|
|
## 3. 需要加入工程的文件
|
|
|
|
### 源文件
|
|
|
|
把以下文件加入工程:
|
|
|
|
- `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
|
|
```
|
|
|
|
### 预处理宏
|
|
|
|
建议定义:
|
|
|
|
- `UNICODE`
|
|
- `_UNICODE`
|
|
- `_WINDOWS`
|
|
|
|
### 建议参数
|
|
|
|
如果需要手动补充:
|
|
|
|
- `-mwindows`
|
|
- `-municode`
|
|
|
|
## 5. 资源文件注意事项
|
|
|
|
Dev-C++ 下最容易出问题的是资源编译。
|
|
|
|
本项目资源包括:
|
|
|
|
- 图标
|
|
- 菜单
|
|
- 关于框
|
|
|
|
资源脚本为:
|
|
|
|
```text
|
|
src/resources/Tetris.rc
|
|
```
|
|
|
|
如果 Dev-C++ 对该资源文件编译不稳定,最稳妥的做法有两种。
|
|
|
|
### 做法一:不编译资源文件
|
|
|
|
先只编译 C++ 源文件。
|
|
|
|
这样:
|
|
|
|
- 程序主体通常能正常运行
|
|
- 但窗口图标、菜单等资源可能缺失
|
|
|
|
### 做法二:优先使用脚本构建
|
|
|
|
先在项目根目录执行:
|
|
|
|
```powershell
|
|
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
|
|
```
|
|
|
|
确认脚本方式可构建后,再视需要把 Dev-C++ 作为备用方案。
|
|
|
|
## 6. 资源目录不要遗漏
|
|
|
|
无论你用哪种方式运行,下面这些目录都不要删:
|
|
|
|
- `assets/icons/`
|
|
- `assets/images/`
|
|
- `assets/audio/`
|
|
- `assets/video/`
|
|
|
|
否则会影响:
|
|
|
|
- 图标显示
|
|
- 背景图片
|
|
- 背景音乐
|
|
- 视频复活
|
|
|
|
## 7. 常见问题
|
|
|
|
### 1)能编译但没有图标或菜单
|
|
|
|
通常是资源文件没有正确编译进程序。
|
|
|
|
### 2)编译时报 `gdiplus` 或 `winmm` 未定义引用
|
|
|
|
说明缺少链接库,请检查工程链接设置。
|
|
|
|
### 3)运行时没有背景图 / 音乐 / 视频
|
|
|
|
说明程序找不到 `assets/` 目录,通常是工作目录不对,或者运行时只复制了 `exe` 没带资源。
|
|
|
|
## 8. 建议
|
|
|
|
如果你的目标是:
|
|
|
|
- 交作业
|
|
- 本地演示
|
|
- 快速稳定运行
|
|
|
|
请优先使用本项目已经配好的 `build-mingw.ps1` 和 VS Code 配置。
|
|
Dev-C++ 更适合作为兼容环境,而不是主开发环境。
|