部署配置备份
authorSnickerSun <snickersun@163.com>
Sat, 29 Nov 2025 04:14:04 +0000 (12:14 +0800)
committerSnickerSun <snickersun@163.com>
Sat, 29 Nov 2025 04:14:04 +0000 (12:14 +0800)
DEPLOY_CONFIG.md [new file with mode: 0644]
HiBTMacWriteTool.pro.user_snicker [new file with mode: 0644]
QtCreator部署快速修复.md [new file with mode: 0644]
QtCreator部署配置说明.md [new file with mode: 0644]

diff --git a/DEPLOY_CONFIG.md b/DEPLOY_CONFIG.md
new file mode 100644 (file)
index 0000000..5b4c93c
--- /dev/null
@@ -0,0 +1,85 @@
+# Qt Creator 部署配置说明\r
+\r
+本文档记录项目的部署配置,以便团队成员共享配置信息。\r
+\r
+## 部署配置步骤\r
+\r
+### Debug版本部署配置\r
+\r
+1. **打开项目设置**\r
+   - 项目 → 项目设置\r
+   - 选择 Debug 构建配置\r
+\r
+2. **添加windeployqt部署步骤**\r
+   - 运行 → 部署 → 添加部署步骤\r
+   - 选择"使用 windeployqt 部署 Qt"\r
+\r
+3. **配置参数**\r
+   - **windeployqt路径**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe`\r
+   - **参数**:\r
+     - ✅ 勾选 `--debug`\r
+     - ✅ 勾选 `--compiler-runtime`\r
+   - **目标**:`%{buildDir}\debug\HiBTMacWriteTool.exe`\r
+\r
+### Release版本部署配置\r
+\r
+1. **打开项目设置**\r
+   - 项目 → 项目设置\r
+   - 选择 Release 构建配置\r
+\r
+2. **添加windeployqt部署步骤**\r
+   - 运行 → 部署 → 添加部署步骤\r
+   - 选择"使用 windeployqt 部署 Qt"\r
+\r
+3. **配置参数**\r
+   - **windeployqt路径**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe`\r
+   - **参数**:\r
+     - ❌ 不勾选 `--debug`\r
+     - ✅ 勾选 `--compiler-runtime`\r
+   - **目标**:`%{buildDir}\release\HiBTMacWriteTool.exe`\r
+\r
+## 为什么.pro.user文件被忽略?\r
+\r
+`.pro.user` 文件包含:\r
+- 个人编辑器设置\r
+- 机器特定的路径\r
+- 个人调试配置\r
+- 等等\r
+\r
+这些设置因人而异,不应该提交到版本控制。\r
+\r
+## 如何共享部署配置?\r
+\r
+### 方法一:文档化(推荐)\r
+\r
+将部署配置步骤记录在本文档中,团队成员按照文档自行配置。\r
+\r
+### 方法二:使用发布脚本(推荐)\r
+\r
+使用项目提供的发布脚本,无需在Qt Creator中配置:\r
+- `build_release.bat` - Release版本\r
+- `build_debug.bat` - Debug版本\r
+\r
+### 方法三:强制提交(不推荐)\r
+\r
+如果确实需要共享`.pro.user`文件:\r
+\r
+```bash\r
+# 从.gitignore中移除(不推荐)\r
+# 编辑.gitignore,注释掉 *.pro.user\r
+\r
+# 或者强制添加(不推荐)\r
+git add -f HiBTMacWriteTool.pro.user\r
+```\r
+\r
+**注意**:强制提交可能导致:\r
+- 不同开发者的配置冲突\r
+- 路径不兼容问题\r
+- 频繁的合并冲突\r
+\r
+## 推荐做法\r
+\r
+1. **使用发布脚本**:团队成员使用统一的发布脚本\r
+2. **文档化配置**:将重要配置记录在文档中\r
+3. **保持.gitignore**:继续忽略`.pro.user`文件\r
+\r
diff --git a/HiBTMacWriteTool.pro.user_snicker b/HiBTMacWriteTool.pro.user_snicker
new file mode 100644 (file)
index 0000000..e8edd0f
--- /dev/null
@@ -0,0 +1,570 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE QtCreatorProject>\r
+<!-- Written by QtCreator 4.11.1, 2025-11-29T11:44:43. -->\r
+<qtcreator>\r
+ <data>\r
+  <variable>EnvironmentId</variable>\r
+  <value type="QByteArray">{50b7063c-fada-4703-b3cc-86042d85a064}</value>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>\r
+  <value type="int">0</value>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.EditorSettings</variable>\r
+  <valuemap type="QVariantMap">\r
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>\r
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>\r
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>\r
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">\r
+    <value type="QString" key="language">Cpp</value>\r
+    <valuemap type="QVariantMap" key="value">\r
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>\r
+    </valuemap>\r
+   </valuemap>\r
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">\r
+    <value type="QString" key="language">QmlJS</value>\r
+    <valuemap type="QVariantMap" key="value">\r
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>\r
+    </valuemap>\r
+   </valuemap>\r
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>\r
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>\r
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>\r
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>\r
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>\r
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>\r
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>\r
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>\r
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>\r
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>\r
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>\r
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>\r
+   <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>\r
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>\r
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>\r
+   <value type="int" key="EditorConfiguration.TabSize">8</value>\r
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>\r
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>\r
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>\r
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>\r
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>\r
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>\r
+  </valuemap>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.PluginSettings</variable>\r
+  <valuemap type="QVariantMap">\r
+   <valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">\r
+    <value type="QString">-fno-delayed-template-parsing</value>\r
+   </valuelist>\r
+   <value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>\r
+  </valuemap>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.Target.0</variable>\r
+  <valuemap type="QVariantMap">\r
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>\r
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>\r
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win32_mingw73_kit</value>\r
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>\r
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>\r
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">\r
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/workspace/fd230_source_win/HiBTMacWriteTool/build-debug</value>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>\r
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>\r
+     </valuemap>\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>\r
+    </valuemap>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>\r
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>\r
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>\r
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>\r
+   </valuemap>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">\r
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_32_bit-Release</value>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>\r
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>\r
+     </valuemap>\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>\r
+    </valuemap>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>\r
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>\r
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>\r
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>\r
+   </valuemap>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">\r
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_32_bit-Profile</value>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>\r
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>\r
+     </valuemap>\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>\r
+    </valuemap>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>\r
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>\r
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>\r
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>\r
+   </valuemap>\r
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProcessStep.Arguments">--debug --compiler-runtime %{buildDir}\debug\HiBTMacWriteTool.exe</value>\r
+      <value type="QString" key="ProjectExplorer.ProcessStep.Command">D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe</value>\r
+      <value type="QString" key="ProjectExplorer.ProcessStep.WorkingDirectory">%{buildDir}</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.ProcessStep</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>\r
+   </valuemap>\r
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">\r
+    <value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Perf.Events">\r
+     <value type="QString">cpu-cycles</value>\r
+    </valuelist>\r
+    <valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>\r
+    <value type="int" key="Analyzer.Perf.Frequency">250</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">\r
+     <value type="QString">-e</value>\r
+     <value type="QString">cpu-cycles</value>\r
+     <value type="QString">--call-graph</value>\r
+     <value type="QString">dwarf,4096</value>\r
+     <value type="QString">-F</value>\r
+     <value type="QString">250</value>\r
+    </valuelist>\r
+    <value type="QString" key="Analyzer.Perf.SampleMode">-F</value>\r
+    <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>\r
+    <value type="int" key="Analyzer.Perf.StackSize">4096</value>\r
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>\r
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>\r
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>\r
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>\r
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>\r
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>\r
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>\r
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>\r
+    <value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>\r
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>\r
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>\r
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>\r
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>\r
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">\r
+     <value type="int">0</value>\r
+     <value type="int">1</value>\r
+     <value type="int">2</value>\r
+     <value type="int">3</value>\r
+     <value type="int">4</value>\r
+     <value type="int">5</value>\r
+     <value type="int">6</value>\r
+     <value type="int">7</value>\r
+     <value type="int">8</value>\r
+     <value type="int">9</value>\r
+     <value type="int">10</value>\r
+     <value type="int">11</value>\r
+     <value type="int">12</value>\r
+     <value type="int">13</value>\r
+     <value type="int">14</value>\r
+    </valuelist>\r
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>\r
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/workspace/fd230_source_win/HiBTMacWriteTool/HiBTMacWriteTool.pro</value>\r
+    <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/workspace/fd230_source_win/HiBTMacWriteTool/HiBTMacWriteTool.pro</value>\r
+    <value type="QString" key="RunConfiguration.Arguments"></value>\r
+    <value type="bool" key="RunConfiguration.Arguments.multi">false</value>\r
+    <value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>\r
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>\r
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>\r
+    <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>\r
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>\r
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>\r
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>\r
+    <value type="bool" key="RunConfiguration.UseTerminal">false</value>\r
+    <value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}</value>\r
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/workspace/fd230_source_win/HiBTMacWriteTool/build-debug</value>\r
+   </valuemap>\r
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>\r
+  </valuemap>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.Target.1</variable>\r
+  <valuemap type="QVariantMap">\r
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>\r
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>\r
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>\r
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>\r
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>\r
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">\r
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_64_bit-Debug</value>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>\r
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>\r
+     </valuemap>\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>\r
+    </valuemap>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>\r
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>\r
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>\r
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>\r
+   </valuemap>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">\r
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_64_bit-Release</value>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>\r
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>\r
+     </valuemap>\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>\r
+    </valuemap>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>\r
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>\r
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>\r
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>\r
+   </valuemap>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">\r
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/workspace/fd230_source_win/build-HiBTMacWriteTool-Desktop_Qt_5_14_2_MinGW_64_bit-Profile</value>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>\r
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>\r
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>\r
+     </valuemap>\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>\r
+    </valuemap>\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">\r
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">\r
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>\r
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>\r
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>\r
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>\r
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>\r
+     </valuemap>\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>\r
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>\r
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>\r
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>\r
+   </valuemap>\r
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">\r
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">\r
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>\r
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>\r
+    </valuemap>\r
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>\r
+   </valuemap>\r
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>\r
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">\r
+    <value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Perf.Events">\r
+     <value type="QString">cpu-cycles</value>\r
+    </valuelist>\r
+    <valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>\r
+    <value type="int" key="Analyzer.Perf.Frequency">250</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">\r
+     <value type="QString">-e</value>\r
+     <value type="QString">cpu-cycles</value>\r
+     <value type="QString">--call-graph</value>\r
+     <value type="QString">dwarf,4096</value>\r
+     <value type="QString">-F</value>\r
+     <value type="QString">250</value>\r
+    </valuelist>\r
+    <value type="QString" key="Analyzer.Perf.SampleMode">-F</value>\r
+    <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>\r
+    <value type="int" key="Analyzer.Perf.StackSize">4096</value>\r
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>\r
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>\r
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>\r
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>\r
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>\r
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>\r
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>\r
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>\r
+    <value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>\r
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>\r
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>\r
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>\r
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>\r
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>\r
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>\r
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>\r
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">\r
+     <value type="int">0</value>\r
+     <value type="int">1</value>\r
+     <value type="int">2</value>\r
+     <value type="int">3</value>\r
+     <value type="int">4</value>\r
+     <value type="int">5</value>\r
+     <value type="int">6</value>\r
+     <value type="int">7</value>\r
+     <value type="int">8</value>\r
+     <value type="int">9</value>\r
+     <value type="int">10</value>\r
+     <value type="int">11</value>\r
+     <value type="int">12</value>\r
+     <value type="int">13</value>\r
+     <value type="int">14</value>\r
+    </valuelist>\r
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>\r
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>\r
+    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>\r
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>\r
+    <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>\r
+    <value type="QString" key="RunConfiguration.Arguments"></value>\r
+    <value type="bool" key="RunConfiguration.Arguments.multi">false</value>\r
+    <value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>\r
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>\r
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>\r
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>\r
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>\r
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>\r
+    <value type="QString" key="RunConfiguration.WorkingDirectory"></value>\r
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>\r
+   </valuemap>\r
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>\r
+  </valuemap>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.TargetCount</variable>\r
+  <value type="int">2</value>\r
+ </data>\r
+ <data>\r
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>\r
+  <value type="int">22</value>\r
+ </data>\r
+ <data>\r
+  <variable>Version</variable>\r
+  <value type="int">22</value>\r
+ </data>\r
+</qtcreator>\r
diff --git a/QtCreator部署快速修复.md b/QtCreator部署快速修复.md
new file mode 100644 (file)
index 0000000..8e26313
--- /dev/null
@@ -0,0 +1,143 @@
+# Qt Creator 部署选项变灰 - 快速修复指南\r
+\r
+## 问题原因\r
+\r
+部署选项变灰通常是因为部署步骤列表为空。从项目配置文件看,部署配置存在但没有部署步骤。\r
+\r
+## 快速修复步骤\r
+\r
+### 方法一:在Qt Creator中添加windeployqt部署步骤(推荐)\r
+\r
+1. **打开项目设置**\r
+   - 点击左侧"项目"(Projects)图标(或按 `Alt+7`)\r
+   - 或者菜单:`项目` → `项目设置`\r
+\r
+2. **选择构建配置**\r
+   - 在左侧选择要配置的构建配置(Debug 或 Release)\r
+   - 例如:`Desktop Qt 5.14.2 MinGW 32-bit` → `Debug` 或 `Release`\r
+\r
+3. **展开"运行"(Run)设置**\r
+   - 在右侧找到"运行"(Run)部分\r
+   - 展开"部署"(Deploy)子项\r
+\r
+4. **添加部署步骤**\r
+   - 点击"添加部署步骤"(Add Deploy Step)按钮\r
+   - 选择"使用 windeployqt 部署 Qt"(Deploy with windeployqt)\r
+\r
+5. **配置windeployqt**\r
+   - **windeployqt路径**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe`\r
+   - **参数**:\r
+     - Debug: 勾选 `--debug`\r
+     - Release: 不勾选 `--debug`\r
+   - **其他选项**:\r
+     - ✅ 勾选 `--compiler-runtime`(包含编译器运行时库)\r
+     - ✅ 勾选 `--qmldir`(如果使用QML)\r
+     - ❌ 不勾选 `--no-translations`(保留翻译文件)\r
+\r
+6. **保存并测试**\r
+   - 点击"应用"(Apply)或"确定"(OK)\r
+   - 现在部署选项应该可以用了\r
+\r
+### 方法二:使用自定义部署步骤\r
+\r
+如果方法一不行,可以使用自定义部署步骤:\r
+\r
+1. **添加自定义部署步骤**\r
+   - 在"部署"(Deploy)部分,点击"添加部署步骤"\r
+   - 选择"自定义进程步骤"(Custom Process Step)\r
+\r
+2. **配置命令**\r
+   - **命令**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe`\r
+   - **参数**:\r
+     - Debug: `--debug --compiler-runtime %{buildDir}\debug\HiBTMacWriteTool.exe`\r
+     - Release: `--release --compiler-runtime %{buildDir}\release\HiBTMacWriteTool.exe`\r
+   - **工作目录**:`%{buildDir}`\r
+\r
+3. **保存配置**\r
+\r
+### 方法三:手动编辑.pro.user文件(高级)\r
+\r
+如果上述方法都不行,可以手动编辑 `.pro.user` 文件:\r
+\r
+1. **关闭Qt Creator**\r
+\r
+2. **编辑HiBTMacWriteTool.pro.user**\r
+   - 找到 `<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">`\r
+   - 在 `<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">` 中添加部署步骤\r
+\r
+3. **重新打开Qt Creator**\r
+\r
+**注意**:手动编辑 `.pro.user` 文件有风险,建议先备份。\r
+\r
+## 验证部署配置\r
+\r
+配置完成后:\r
+\r
+1. **检查部署步骤**\r
+   - 在项目设置中,展开"部署"(Deploy)\r
+   - 应该能看到至少一个部署步骤\r
+\r
+2. **测试部署**\r
+   - 点击"运行"(Run)按钮旁边的下拉箭头\r
+   - 选择"部署"(Deploy)\r
+   - 如果仍然灰色,尝试先编译项目(Ctrl+B)\r
+\r
+3. **查看输出**\r
+   - 部署时,在"编译输出"(Compile Output)窗口应该能看到 windeployqt 的执行信息\r
+\r
+## 常见问题\r
+\r
+### Q1: 添加部署步骤后仍然是灰色\r
+\r
+**解决方案:**\r
+1. 确保项目已经成功编译过\r
+2. 确保运行配置中指定了可执行文件\r
+3. 尝试关闭并重新打开项目\r
+4. 检查 Qt Creator 版本(建议 4.11+)\r
+\r
+### Q2: windeployqt路径找不到\r
+\r
+**解决方案:**\r
+1. 检查 Qt 安装路径是否正确\r
+2. 在项目设置中手动指定完整路径\r
+3. 确保路径使用正斜杠 `/` 或双反斜杠 `\\`\r
+\r
+### Q3: 部署后程序无法运行\r
+\r
+**解决方案:**\r
+1. 检查是否勾选了 `--compiler-runtime`\r
+2. 确保所有必要的 DLL 都被复制\r
+3. 检查可执行文件路径是否正确\r
+\r
+## 替代方案\r
+\r
+如果 Qt Creator 的部署功能无法使用,可以使用提供的发布脚本:\r
+\r
+- **Release版本**:双击运行 `build_release.bat`\r
+- **Debug版本**:双击运行 `build_debug.bat`\r
+\r
+这些脚本会自动完成编译和部署,无需在 Qt Creator 中配置。\r
+\r
+## 推荐配置\r
+\r
+### Debug配置\r
+```\r
+windeployqt路径: D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe\r
+参数: --debug --compiler-runtime\r
+目标: %{buildDir}\debug\HiBTMacWriteTool.exe\r
+```\r
+\r
+### Release配置\r
+```\r
+windeployqt路径: D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe\r
+参数: --release --compiler-runtime\r
+目标: %{buildDir}\release\HiBTMacWriteTool.exe\r
+```\r
+\r
+## 注意事项\r
+\r
+1. **路径格式**:Windows路径可以使用 `/` 或 `\\`\r
+2. **变量**:`%{buildDir}` 是Qt Creator的构建目录变量\r
+3. **权限**:确保有写入构建目录的权限\r
+4. **Qt版本**:确保windeployqt版本与项目使用的Qt版本一致\r
+\r
diff --git a/QtCreator部署配置说明.md b/QtCreator部署配置说明.md
new file mode 100644 (file)
index 0000000..b1d8dbe
--- /dev/null
@@ -0,0 +1,143 @@
+# Qt Creator 部署配置说明\r
+\r
+## 问题:部署选项是灰色的\r
+\r
+如果 Qt Creator 中的"部署"(Deploy)选项是灰色的,通常是因为没有正确配置运行设置。\r
+\r
+## 解决方法\r
+\r
+### 方法一:配置运行设置(推荐)\r
+\r
+1. **打开项目设置**\r
+   - 点击左侧"项目"(Projects)图标\r
+   - 或者菜单:`项目` → `项目设置`\r
+\r
+2. **选择构建套件(Kit)**\r
+   - 在"构建和运行"(Build & Run)中,确保选择了正确的 Kit\r
+   - 例如:`Desktop Qt 5.14.2 MinGW 32-bit`\r
+\r
+3. **配置运行设置**\r
+   - 展开"运行"(Run)设置\r
+   - 在"运行配置"(Run Configuration)中:\r
+     - **可执行文件**:选择编译后的 `.exe` 文件\r
+       - Debug: `build-debug\debug\HiBTMacWriteTool.exe`\r
+       - Release: `build-release\release\HiBTMacWriteTool.exe`\r
+     - **工作目录**:设置为项目根目录或可执行文件所在目录\r
+     - **命令行参数**:留空(除非需要)\r
+\r
+4. **启用部署**\r
+   - 在"部署"(Deploy)部分,点击"添加部署步骤"(Add Deploy Step)\r
+   - 选择"使用 windeployqt 部署 Qt"(Deploy with windeployqt)\r
+   - 配置 windeployqt 路径:\r
+     - `D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe`\r
+   - 选择部署模式:\r
+     - Debug: 勾选 `--debug`\r
+     - Release: 不勾选 `--debug`\r
+   - 勾选 `--compiler-runtime`(包含编译器运行时库)\r
+\r
+### 方法二:手动添加部署步骤\r
+\r
+如果方法一不行,可以手动添加部署步骤:\r
+\r
+1. **在项目设置中**\r
+   - 展开"运行"(Run)设置\r
+   - 点击"添加部署步骤"(Add Deploy Step)\r
+   - 选择"自定义部署步骤"(Custom Process Step)\r
+\r
+2. **配置自定义部署步骤**\r
+   - **命令**:`D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe`\r
+   - **参数**:\r
+     - Debug: `--debug --compiler-runtime %{buildDir}\debug\HiBTMacWriteTool.exe`\r
+     - Release: `--release --compiler-runtime %{buildDir}\release\HiBTMacWriteTool.exe`\r
+   - **工作目录**:`%{buildDir}`\r
+\r
+### 方法三:使用项目文件配置(.pro文件)\r
+\r
+在 `HiBTMacWriteTool.pro` 文件中添加部署配置:\r
+\r
+```pro\r
+# 部署配置\r
+CONFIG += deploy\r
+DEPLOY_COMMAND = $$[QT_INSTALL_BINS]/windeployqt.exe\r
+DEPLOY_TARGET = $$TARGET\r
+```\r
+\r
+但这种方法在 Qt Creator 中可能不会自动显示部署选项。\r
+\r
+## 验证配置\r
+\r
+配置完成后:\r
+\r
+1. **检查运行配置**\r
+   - 确保"运行"(Run)设置中有可执行文件路径\r
+   - 确保工作目录正确\r
+\r
+2. **测试部署**\r
+   - 点击"运行"(Run)按钮旁边的下拉箭头\r
+   - 选择"部署"(Deploy)\r
+   - 如果仍然灰色,尝试先运行一次程序(F5)\r
+\r
+3. **检查输出**\r
+   - 部署成功后,应该能看到 Qt 依赖库被复制到可执行文件目录\r
+\r
+## 常见问题\r
+\r
+### Q1: 部署选项仍然是灰色的\r
+\r
+**解决方案:**\r
+1. 确保项目已经成功编译\r
+2. 确保运行配置中指定了可执行文件\r
+3. 尝试关闭并重新打开项目\r
+4. 检查 Qt Creator 版本(建议使用 Qt Creator 4.11+)\r
+\r
+### Q2: windeployqt 找不到\r
+\r
+**解决方案:**\r
+1. 检查 Qt 安装路径是否正确\r
+2. 在项目设置中手动指定 windeployqt 的完整路径\r
+3. 确保 Qt 版本与项目配置的版本一致\r
+\r
+### Q3: 部署后缺少某些 DLL\r
+\r
+**解决方案:**\r
+1. 检查 windeployqt 的参数是否正确\r
+2. 确保勾选了 `--compiler-runtime`\r
+3. 手动检查并复制缺失的 DLL\r
+\r
+## 替代方案\r
+\r
+如果 Qt Creator 的部署功能无法使用,可以使用提供的发布脚本:\r
+\r
+- **Release版本**:运行 `build_release.bat` 或 `build_release.ps1`\r
+- **Debug版本**:运行 `build_debug.bat` 或 `build_debug.ps1`\r
+\r
+这些脚本会自动完成编译和部署过程。\r
+\r
+## 手动部署步骤\r
+\r
+如果所有自动方法都失败,可以手动部署:\r
+\r
+1. **编译项目**\r
+   ```bash\r
+   qmake HiBTMacWriteTool.pro\r
+   mingw32-make release  # 或 debug\r
+   ```\r
+\r
+2. **使用 windeployqt**\r
+   ```bash\r
+   windeployqt --release --compiler-runtime build-release\release\HiBTMacWriteTool.exe\r
+   ```\r
+\r
+3. **复制配置文件**\r
+   ```bash\r
+   copy settings.json build-release\release\\r
+   copy mac_address.db build-release\release\\r
+   ```\r
+\r
+## 注意事项\r
+\r
+1. **Qt版本**:确保使用 Qt 5.14.2,其他版本可能不兼容\r
+2. **编译器**:使用 MinGW 7.3.0 32位编译器\r
+3. **路径**:所有路径使用正斜杠 `/` 或双反斜杠 `\\`\r
+4. **权限**:确保有写入目标目录的权限\r
+\r