45 lines
1.4 KiB
Bash
Executable File
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" |