This commit is contained in:
CaiXiang
2025-11-27 15:20:21 +08:00
parent 3e2884ea53
commit 7b6c956b6a
49 changed files with 2042 additions and 10294 deletions

View File

@@ -4,7 +4,13 @@
# AGV Qt6 GUI 自动部署脚本
# ============================================
#
# 功能:自动打包 Qt6 应用程序及其所有依赖
# 功能:
# 1. 自动编译项目(如果未编译)
# 2. 自动打包 Qt6 应用程序及其所有依赖
# 3. 创建可独立运行的 release_package 发布包
#
# 使用:./deploy_windows.sh
#
# 作者AGV Team
# 日期2025-11-27
# 版本1.0
@@ -59,18 +65,6 @@ print_error() {
check_requirements() {
print_step "检查环境要求..."
# 检查可执行文件
if [ ! -f "$BUILD_DIR/$EXE_NAME" ]; then
print_error "找不到可执行文件: $BUILD_DIR/$EXE_NAME"
echo "请先编译项目!"
echo ""
echo "编译命令:"
echo " cd build"
echo " cmake -G \"MinGW Makefiles\" -DCMAKE_PREFIX_PATH=$QT_DIR .."
echo " cmake --build . -j4"
exit 1
fi
# 检查 Qt
if [ ! -d "$QT_DIR" ]; then
print_error "找不到 Qt 安装目录: $QT_DIR"
@@ -91,11 +85,38 @@ check_requirements() {
exit 1
fi
echo -e " ✓ 可执行文件: $EXE_NAME"
echo -e " ✓ Qt 目录: $QT_DIR"
echo -e " ✓ MinGW 目录: $MINGW_DIR"
}
build_project() {
# 检查可执行文件是否存在
if [ ! -f "$BUILD_DIR/$EXE_NAME" ]; then
print_warning "找不到可执行文件,将自动编译项目..."
echo ""
# 自动编译
if [ -f "$PROJECT_ROOT/build.sh" ]; then
print_step "运行 build.sh 编译项目..."
"$PROJECT_ROOT/build.sh"
echo ""
else
print_error "找不到 build.sh 脚本"
exit 1
fi
# 再次检查
if [ ! -f "$BUILD_DIR/$EXE_NAME" ]; then
print_error "编译失败,找不到 $EXE_NAME"
exit 1
fi
print_step "编译成功"
else
echo -e " ✓ 可执行文件: $EXE_NAME"
fi
}
create_deploy_dir() {
print_step "创建部署目录..."
@@ -401,6 +422,7 @@ main() {
print_header
check_requirements
build_project
create_deploy_dir
copy_executable
run_windeployqt