From: SnickerSun Date: Sat, 29 Nov 2025 04:14:04 +0000 (+0800) Subject: 部署配置备份 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=b522e26b52df10817a2c52f875d21315a6dbd11c;p=mirrors%2Ffactory_tool.git 部署配置备份 --- diff --git a/DEPLOY_CONFIG.md b/DEPLOY_CONFIG.md new file mode 100644 index 0000000..5b4c93c --- /dev/null +++ b/DEPLOY_CONFIG.md @@ -0,0 +1,85 @@ +# Qt Creator 部署配置说明 + +本文档记录项目的部署配置,以便团队成员共享配置信息。 + +## 部署配置步骤 + +### Debug版本部署配置 + +1. **打开项目设置** + - 项目 → 项目设置 + - 选择 Debug 构建配置 + +2. **添加windeployqt部署步骤** + - 运行 → 部署 → 添加部署步骤 + - 选择"使用 windeployqt 部署 Qt" + +3. **配置参数** + - **windeployqt路径**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe` + - **参数**: + - ✅ 勾选 `--debug` + - ✅ 勾选 `--compiler-runtime` + - **目标**:`%{buildDir}\debug\HiBTMacWriteTool.exe` + +### Release版本部署配置 + +1. **打开项目设置** + - 项目 → 项目设置 + - 选择 Release 构建配置 + +2. **添加windeployqt部署步骤** + - 运行 → 部署 → 添加部署步骤 + - 选择"使用 windeployqt 部署 Qt" + +3. **配置参数** + - **windeployqt路径**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe` + - **参数**: + - ❌ 不勾选 `--debug` + - ✅ 勾选 `--compiler-runtime` + - **目标**:`%{buildDir}\release\HiBTMacWriteTool.exe` + +## 为什么.pro.user文件被忽略? + +`.pro.user` 文件包含: +- 个人编辑器设置 +- 机器特定的路径 +- 个人调试配置 +- 等等 + +这些设置因人而异,不应该提交到版本控制。 + +## 如何共享部署配置? + +### 方法一:文档化(推荐) + +将部署配置步骤记录在本文档中,团队成员按照文档自行配置。 + +### 方法二:使用发布脚本(推荐) + +使用项目提供的发布脚本,无需在Qt Creator中配置: +- `build_release.bat` - Release版本 +- `build_debug.bat` - Debug版本 + +### 方法三:强制提交(不推荐) + +如果确实需要共享`.pro.user`文件: + +```bash +# 从.gitignore中移除(不推荐) +# 编辑.gitignore,注释掉 *.pro.user + +# 或者强制添加(不推荐) +git add -f HiBTMacWriteTool.pro.user +``` + +**注意**:强制提交可能导致: +- 不同开发者的配置冲突 +- 路径不兼容问题 +- 频繁的合并冲突 + +## 推荐做法 + +1. **使用发布脚本**:团队成员使用统一的发布脚本 +2. **文档化配置**:将重要配置记录在文档中 +3. **保持.gitignore**:继续忽略`.pro.user`文件 + diff --git a/HiBTMacWriteTool.pro.user_snicker b/HiBTMacWriteTool.pro.user_snicker new file mode 100644 index 0000000..e8edd0f --- /dev/null +++ b/HiBTMacWriteTool.pro.user_snicker @@ -0,0 +1,570 @@ + + + + + + EnvironmentId + {50b7063c-fada-4703-b3cc-86042d85a064} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + D:/workspace/fd230_source_win/HiBTMacWriteTool/build-debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + + true + --debug --compiler-runtime %{buildDir}\debug\HiBTMacWriteTool.exe + D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe + %{buildDir} + ProjectExplorer.ProcessStep + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:D:/workspace/fd230_source_win/HiBTMacWriteTool/HiBTMacWriteTool.pro + D:/workspace/fd230_source_win/HiBTMacWriteTool/HiBTMacWriteTool.pro + + false + + false + true + true + false + false + true + false + %{buildDir} + D:/workspace/fd230_source_win/HiBTMacWriteTool/build-debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git "a/QtCreator\351\203\250\347\275\262\345\277\253\351\200\237\344\277\256\345\244\215.md" "b/QtCreator\351\203\250\347\275\262\345\277\253\351\200\237\344\277\256\345\244\215.md" new file mode 100644 index 0000000..8e26313 --- /dev/null +++ "b/QtCreator\351\203\250\347\275\262\345\277\253\351\200\237\344\277\256\345\244\215.md" @@ -0,0 +1,143 @@ +# Qt Creator 部署选项变灰 - 快速修复指南 + +## 问题原因 + +部署选项变灰通常是因为部署步骤列表为空。从项目配置文件看,部署配置存在但没有部署步骤。 + +## 快速修复步骤 + +### 方法一:在Qt Creator中添加windeployqt部署步骤(推荐) + +1. **打开项目设置** + - 点击左侧"项目"(Projects)图标(或按 `Alt+7`) + - 或者菜单:`项目` → `项目设置` + +2. **选择构建配置** + - 在左侧选择要配置的构建配置(Debug 或 Release) + - 例如:`Desktop Qt 5.14.2 MinGW 32-bit` → `Debug` 或 `Release` + +3. **展开"运行"(Run)设置** + - 在右侧找到"运行"(Run)部分 + - 展开"部署"(Deploy)子项 + +4. **添加部署步骤** + - 点击"添加部署步骤"(Add Deploy Step)按钮 + - 选择"使用 windeployqt 部署 Qt"(Deploy with windeployqt) + +5. **配置windeployqt** + - **windeployqt路径**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe` + - **参数**: + - Debug: 勾选 `--debug` + - Release: 不勾选 `--debug` + - **其他选项**: + - ✅ 勾选 `--compiler-runtime`(包含编译器运行时库) + - ✅ 勾选 `--qmldir`(如果使用QML) + - ❌ 不勾选 `--no-translations`(保留翻译文件) + +6. **保存并测试** + - 点击"应用"(Apply)或"确定"(OK) + - 现在部署选项应该可以用了 + +### 方法二:使用自定义部署步骤 + +如果方法一不行,可以使用自定义部署步骤: + +1. **添加自定义部署步骤** + - 在"部署"(Deploy)部分,点击"添加部署步骤" + - 选择"自定义进程步骤"(Custom Process Step) + +2. **配置命令** + - **命令**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe` + - **参数**: + - Debug: `--debug --compiler-runtime %{buildDir}\debug\HiBTMacWriteTool.exe` + - Release: `--release --compiler-runtime %{buildDir}\release\HiBTMacWriteTool.exe` + - **工作目录**:`%{buildDir}` + +3. **保存配置** + +### 方法三:手动编辑.pro.user文件(高级) + +如果上述方法都不行,可以手动编辑 `.pro.user` 文件: + +1. **关闭Qt Creator** + +2. **编辑HiBTMacWriteTool.pro.user** + - 找到 `` + - 在 `` 中添加部署步骤 + +3. **重新打开Qt Creator** + +**注意**:手动编辑 `.pro.user` 文件有风险,建议先备份。 + +## 验证部署配置 + +配置完成后: + +1. **检查部署步骤** + - 在项目设置中,展开"部署"(Deploy) + - 应该能看到至少一个部署步骤 + +2. **测试部署** + - 点击"运行"(Run)按钮旁边的下拉箭头 + - 选择"部署"(Deploy) + - 如果仍然灰色,尝试先编译项目(Ctrl+B) + +3. **查看输出** + - 部署时,在"编译输出"(Compile Output)窗口应该能看到 windeployqt 的执行信息 + +## 常见问题 + +### Q1: 添加部署步骤后仍然是灰色 + +**解决方案:** +1. 确保项目已经成功编译过 +2. 确保运行配置中指定了可执行文件 +3. 尝试关闭并重新打开项目 +4. 检查 Qt Creator 版本(建议 4.11+) + +### Q2: windeployqt路径找不到 + +**解决方案:** +1. 检查 Qt 安装路径是否正确 +2. 在项目设置中手动指定完整路径 +3. 确保路径使用正斜杠 `/` 或双反斜杠 `\\` + +### Q3: 部署后程序无法运行 + +**解决方案:** +1. 检查是否勾选了 `--compiler-runtime` +2. 确保所有必要的 DLL 都被复制 +3. 检查可执行文件路径是否正确 + +## 替代方案 + +如果 Qt Creator 的部署功能无法使用,可以使用提供的发布脚本: + +- **Release版本**:双击运行 `build_release.bat` +- **Debug版本**:双击运行 `build_debug.bat` + +这些脚本会自动完成编译和部署,无需在 Qt Creator 中配置。 + +## 推荐配置 + +### Debug配置 +``` +windeployqt路径: D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe +参数: --debug --compiler-runtime +目标: %{buildDir}\debug\HiBTMacWriteTool.exe +``` + +### Release配置 +``` +windeployqt路径: D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe +参数: --release --compiler-runtime +目标: %{buildDir}\release\HiBTMacWriteTool.exe +``` + +## 注意事项 + +1. **路径格式**:Windows路径可以使用 `/` 或 `\\` +2. **变量**:`%{buildDir}` 是Qt Creator的构建目录变量 +3. **权限**:确保有写入构建目录的权限 +4. **Qt版本**:确保windeployqt版本与项目使用的Qt版本一致 + diff --git "a/QtCreator\351\203\250\347\275\262\351\205\215\347\275\256\350\257\264\346\230\216.md" "b/QtCreator\351\203\250\347\275\262\351\205\215\347\275\256\350\257\264\346\230\216.md" new file mode 100644 index 0000000..b1d8dbe --- /dev/null +++ "b/QtCreator\351\203\250\347\275\262\351\205\215\347\275\256\350\257\264\346\230\216.md" @@ -0,0 +1,143 @@ +# Qt Creator 部署配置说明 + +## 问题:部署选项是灰色的 + +如果 Qt Creator 中的"部署"(Deploy)选项是灰色的,通常是因为没有正确配置运行设置。 + +## 解决方法 + +### 方法一:配置运行设置(推荐) + +1. **打开项目设置** + - 点击左侧"项目"(Projects)图标 + - 或者菜单:`项目` → `项目设置` + +2. **选择构建套件(Kit)** + - 在"构建和运行"(Build & Run)中,确保选择了正确的 Kit + - 例如:`Desktop Qt 5.14.2 MinGW 32-bit` + +3. **配置运行设置** + - 展开"运行"(Run)设置 + - 在"运行配置"(Run Configuration)中: + - **可执行文件**:选择编译后的 `.exe` 文件 + - Debug: `build-debug\debug\HiBTMacWriteTool.exe` + - Release: `build-release\release\HiBTMacWriteTool.exe` + - **工作目录**:设置为项目根目录或可执行文件所在目录 + - **命令行参数**:留空(除非需要) + +4. **启用部署** + - 在"部署"(Deploy)部分,点击"添加部署步骤"(Add Deploy Step) + - 选择"使用 windeployqt 部署 Qt"(Deploy with windeployqt) + - 配置 windeployqt 路径: + - `D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe` + - 选择部署模式: + - Debug: 勾选 `--debug` + - Release: 不勾选 `--debug` + - 勾选 `--compiler-runtime`(包含编译器运行时库) + +### 方法二:手动添加部署步骤 + +如果方法一不行,可以手动添加部署步骤: + +1. **在项目设置中** + - 展开"运行"(Run)设置 + - 点击"添加部署步骤"(Add Deploy Step) + - 选择"自定义部署步骤"(Custom Process Step) + +2. **配置自定义部署步骤** + - **命令**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe` + - **参数**: + - Debug: `--debug --compiler-runtime %{buildDir}\debug\HiBTMacWriteTool.exe` + - Release: `--release --compiler-runtime %{buildDir}\release\HiBTMacWriteTool.exe` + - **工作目录**:`%{buildDir}` + +### 方法三:使用项目文件配置(.pro文件) + +在 `HiBTMacWriteTool.pro` 文件中添加部署配置: + +```pro +# 部署配置 +CONFIG += deploy +DEPLOY_COMMAND = $$[QT_INSTALL_BINS]/windeployqt.exe +DEPLOY_TARGET = $$TARGET +``` + +但这种方法在 Qt Creator 中可能不会自动显示部署选项。 + +## 验证配置 + +配置完成后: + +1. **检查运行配置** + - 确保"运行"(Run)设置中有可执行文件路径 + - 确保工作目录正确 + +2. **测试部署** + - 点击"运行"(Run)按钮旁边的下拉箭头 + - 选择"部署"(Deploy) + - 如果仍然灰色,尝试先运行一次程序(F5) + +3. **检查输出** + - 部署成功后,应该能看到 Qt 依赖库被复制到可执行文件目录 + +## 常见问题 + +### Q1: 部署选项仍然是灰色的 + +**解决方案:** +1. 确保项目已经成功编译 +2. 确保运行配置中指定了可执行文件 +3. 尝试关闭并重新打开项目 +4. 检查 Qt Creator 版本(建议使用 Qt Creator 4.11+) + +### Q2: windeployqt 找不到 + +**解决方案:** +1. 检查 Qt 安装路径是否正确 +2. 在项目设置中手动指定 windeployqt 的完整路径 +3. 确保 Qt 版本与项目配置的版本一致 + +### Q3: 部署后缺少某些 DLL + +**解决方案:** +1. 检查 windeployqt 的参数是否正确 +2. 确保勾选了 `--compiler-runtime` +3. 手动检查并复制缺失的 DLL + +## 替代方案 + +如果 Qt Creator 的部署功能无法使用,可以使用提供的发布脚本: + +- **Release版本**:运行 `build_release.bat` 或 `build_release.ps1` +- **Debug版本**:运行 `build_debug.bat` 或 `build_debug.ps1` + +这些脚本会自动完成编译和部署过程。 + +## 手动部署步骤 + +如果所有自动方法都失败,可以手动部署: + +1. **编译项目** + ```bash + qmake HiBTMacWriteTool.pro + mingw32-make release # 或 debug + ``` + +2. **使用 windeployqt** + ```bash + windeployqt --release --compiler-runtime build-release\release\HiBTMacWriteTool.exe + ``` + +3. **复制配置文件** + ```bash + copy settings.json build-release\release\ + copy mac_address.db build-release\release\ + ``` + +## 注意事项 + +1. **Qt版本**:确保使用 Qt 5.14.2,其他版本可能不兼容 +2. **编译器**:使用 MinGW 7.3.0 32位编译器 +3. **路径**:所有路径使用正斜杠 `/` 或双反斜杠 `\\` +4. **权限**:确保有写入目标目录的权限 +