Initial commit
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
# MeshRay Windows 无控制台窗口版本 - 快速指南
|
||||
|
||||
**更新时间**: 2026-03-24
|
||||
**编译参数**: `-ldflags "-s -w -H=windowsgui"`
|
||||
|
||||
---
|
||||
|
||||
## 🚀 **快速编译**
|
||||
|
||||
### 方法一:一键编译(推荐)
|
||||
|
||||
在项目根目录执行:
|
||||
|
||||
```bash
|
||||
go build -o meshray.exe -ldflags "-s -w -H=windowsgui" ./cmd/meshray
|
||||
```
|
||||
|
||||
**效果**:
|
||||
- ✅ 不显示控制台窗口
|
||||
- ✅ 系统托盘图标正常
|
||||
- ✅ 文件体积优化(约 31 MB)
|
||||
|
||||
---
|
||||
|
||||
### 方法二:使用批处理脚本
|
||||
|
||||
双击运行 `build.bat`,自动完成编译。
|
||||
|
||||
**注意**: 如果遇到编码问题,请使用方法一手动编译。
|
||||
|
||||
---
|
||||
|
||||
## ✅ **验证结果**
|
||||
|
||||
### 1. 检查文件大小
|
||||
|
||||
```bash
|
||||
ls meshray.exe
|
||||
# 应该约 31 MB
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. 运行测试
|
||||
|
||||
**双击运行** `meshray.exe`:
|
||||
|
||||
**预期效果**:
|
||||
- ✅ 没有黑色控制台窗口弹出
|
||||
- ✅ 系统托盘出现 MeshRay 图标
|
||||
- ✅ 可以通过托盘菜单操作
|
||||
|
||||
**❌ 如果看到控制台窗口**:
|
||||
- 可能忘记添加 `-H=windowsgui` 参数
|
||||
- 可能运行了旧版本程序
|
||||
|
||||
---
|
||||
|
||||
## 🔧 **参数说明**
|
||||
|
||||
| 参数 | 作用 | 效果 |
|
||||
|------|------|------|
|
||||
| `-s` | 去除符号表 | 减小文件大小 |
|
||||
| `-w` | 去除 DWARF 调试信息 | 减小文件大小 |
|
||||
| `-H=windowsgui` | **关键** - 设置为 Windows GUI 子系统 | 隐藏控制台窗口 |
|
||||
|
||||
---
|
||||
|
||||
## 📊 **对比**
|
||||
|
||||
| 编译方式 | 文件大小 | 控制台窗口 | 适用场景 |
|
||||
|----------|----------|------------|----------|
|
||||
| 无参数 | ~38 MB | ❌ 显示 | 开发调试 |
|
||||
| `-s -w` | ~32 MB | ❌ 显示 | 开发调试 |
|
||||
| `-s -w -H=windowsgui` | ~31 MB | ✅ 隐藏 | **正式发布** ✨ |
|
||||
|
||||
---
|
||||
|
||||
## 💡 **常见问题**
|
||||
|
||||
### Q: 隐藏控制台后如何查看日志?
|
||||
|
||||
**A**: 有三种方式:
|
||||
|
||||
1. **查看日志文件**:
|
||||
```bash
|
||||
Get-Content logs\meshray.log -Tail 50
|
||||
```
|
||||
|
||||
2. **通过系统托盘**:
|
||||
- 右键点击托盘图标
|
||||
- 选择 "打开日志"
|
||||
|
||||
3. **实时监控**:
|
||||
```bash
|
||||
tail -f logs\meshray.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Q: 程序崩溃了怎么办?
|
||||
|
||||
**A**:
|
||||
|
||||
1. **重新编译为 Debug 模式**:
|
||||
```bash
|
||||
go build -o meshray-debug.exe ./cmd/meshray
|
||||
```
|
||||
|
||||
2. **查看日志文件**:
|
||||
```bash
|
||||
Get-Content logs\meshray.log -Tail 100
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 **完整构建流程**
|
||||
|
||||
```bash
|
||||
# Step 1: 编译前端
|
||||
cd web
|
||||
npm run build
|
||||
cd ..
|
||||
|
||||
# Step 2: 清理缓存
|
||||
go clean -cache
|
||||
|
||||
# Step 3: 编译(带 windowsgui)
|
||||
go build -o meshray.exe -ldflags "-s -w -H=windowsgui" ./cmd/meshray
|
||||
|
||||
# Step 4: 嵌入图标(可选但推荐)
|
||||
go-winres patch --in build\winres.json meshray.exe
|
||||
|
||||
# Step 5: 验证
|
||||
(Get-Item meshray.exe).VersionInfo | Format-List
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 **最佳实践**
|
||||
|
||||
### 开发环境
|
||||
```bash
|
||||
# 保留控制台输出,方便看日志
|
||||
go build -o meshray.exe ./cmd/meshray
|
||||
```
|
||||
|
||||
### 生产环境
|
||||
```bash
|
||||
# 隐藏控制台,优化体积
|
||||
go build -o meshray.exe -ldflags "-s -w -H=windowsgui" ./cmd/meshray
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 **相关文档**
|
||||
|
||||
- [Windows GUI 程序编译配置指南.md](./Windows%20GUI 程序编译配置指南.md) - 详细说明
|
||||
- [路由注册顺序检查清单.md](./路由注册顺序检查清单.md) - 防止路由顺序错误
|
||||
|
||||
---
|
||||
|
||||
**状态**: ✅ **已配置**
|
||||
**编译命令**: `go build -o meshray.exe -ldflags "-s -w -H=windowsgui" ./cmd/meshray`
|
||||
|
||||
*MeshRay - 注重用户体验,从细节开始!* ✨🪟
|
||||
Reference in New Issue
Block a user