initial
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user