Files
UNSWebServerCore_LinuxSO/build/copy_libs.sh
T
2026-06-30 17:49:51 +08:00

45 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# 确保脚本在遇到错误时停止执行
set -e
# 定义路径
TARGET_DIR="./so"
SRC_PARENT_SO="../so"
SRC_CURRENT_SO="./libunswsc.so"
echo "开始收集动态链接库 (.so 文件)..."
# 1. 如果目标文件夹已存在,先清空它;如果不存在则创建
if [ -d "$TARGET_DIR" ]; then
echo "清理旧的 $TARGET_DIR 目录..."
rm -rf "$TARGET_DIR"/*
else
mkdir -p "$TARGET_DIR"
fi
# 2. 复制上级目录 so 文件夹下的所有 .so 文件(如果该目录存在的话)
if [ -d "$SRC_PARENT_SO" ]; then
# 检查里面是否有 .so 文件,防止因空目录报错
if ls "$SRC_PARENT_SO"/*.so >/dev/null 2>&1; then
echo "正在从 $SRC_PARENT_SO 复制所有 .so 文件..."
cp "$SRC_PARENT_SO"/*.so "$TARGET_DIR/"
else
echo "提示: 上级目录 $SRC_PARENT_SO 中未找到 .so 文件。"
fi
else
echo "警告: 未找到上级目录的 so 文件夹 ($SRC_PARENT_SO)"
fi
# 3. 复制当前 build 目录下的 libunswsc.so
if [ -f "$SRC_CURRENT_SO" ]; then
echo "正在复制当前目录的 $SRC_CURRENT_SO ..."
cp "$SRC_CURRENT_SO" "$TARGET_DIR/"
else
echo "错误: 未在当前目录找到 $SRC_CURRENT_SO 文件,请确保项目已成功编译!"
exit 1
fi
echo "==========================================="
echo "所有动态库已成功汇总到: $TARGET_DIR"
ls -lh "$TARGET_DIR"