解决seetface2编译出来或者没有libopencv_world的问题

没有opencv_world和编译报错 直接尝试用下面shell自动化脚本

#!/bin/bash
set -e

echo "================= 🚀 一键 OpenCV + SeetaFace2 编译开始 ================="

# 配置路径
OPENCV_SRC=/home/book/nfs_rootfs/opencv-4.9.0   #opencv的path
OPENCV_CONTRIB=/home/book/nfs_rootfs/opencv_contrib   #opencv_contrib的path
SEETA_SRC=/home/book/nfs_rootfs/opencv/SeetaFace2      #seetface的path
INSTALL_DIR=/opt/opencv                                #编译完后的模块的path

# 1. 清理旧安装
echo "👉 清理旧安装目录:$INSTALL_DIR"
sudo rm -rf $INSTALL_DIR
sudo mkdir -p $INSTALL_DIR

# ================= 2. 编译 OpenCV ===================
echo "🔧 编译 OpenCV中..."
cd $OPENCV_SRC
rm -rf build && mkdir build && cd build

cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
      -DOPENCV_EXTRA_MODULES_PATH=$OPENCV_CONTRIB/modules \
      -DBUILD_opencv_world=ON \
      -DWITH_CUDA=OFF \
      -DWITH_OPENCL=OFF \
      -DWITH_TBB=OFF \
      -DBUILD_TESTS=OFF \
      -DBUILD_PERF_TESTS=OFF \
      -DBUILD_EXAMPLES=OFF \
      ..

make -j$(nproc)
sudo make install

if [ ! -f $INSTALL_DIR/lib/libopencv_world.so ]; then
    echo "❌ OpenCV 编译失败,没有生成 libopencv_world.so"
    exit 1
fi
echo "✅ OpenCV 编译成功!"

# ================= 3. 修复 SeetaFace2 CMakeLists =================
echo "🧩 下载并修复 SeetaFace2 CMakeLists.txt"

TMP_FIX_DIR=$(mktemp -d)
FIX_URL="https://yourdomain.com/SeetaFace2_CMakeLists_Fix.tar.gz"

wget -O $TMP_FIX_DIR/fix.tar.gz $FIX_URL
tar -zxvf $TMP_FIX_DIR/fix.tar.gz -C $SEETA_SRC --strip-components=1

echo "✅ 修复 CMakeLists 完成!"

# ================= 4. 编译 SeetaFace2 =================
echo "🔧 开始编译 SeetaFace2..."
SEETA_INSTALL=$INSTALL_DIR/seetaface2
sudo mkdir -p $SEETA_INSTALL/include
sudo mkdir -p $SEETA_INSTALL/lib

cd $SEETA_SRC

MODULES=(SeetaNet FaceLandmarker FaceDetector FaceRecognizer FaceTracker QualityAssessor)

for module in "${MODULES[@]}"; do
    MODULE_DIR="$SEETA_SRC/$module"
    if [ -d "$MODULE_DIR" ]; then
        echo "🛠 编译模块:$module"
        cd $MODULE_DIR
        rm -rf build && mkdir build && cd build

        cmake -DCMAKE_BUILD_TYPE=Release \
              -DCMAKE_INSTALL_PREFIX=$SEETA_INSTALL \
              ..

        make -j$(nproc)
        sudo make install

        LIB_NAME=$(ls libSeeta*.so 2>/dev/null || echo "")
        if [ -z "$LIB_NAME" ]; then
            echo "❌ 模块 $module 编译失败,没有生成 libSeetaXXX.so"
            exit 1
        fi
        echo "✅ 模块 $module 编译完成"
    else
        echo "⚠️ 模块目录不存在:$module,跳过"
    fi
done


怎么执行自行百度 或者评论区  opencv的文件见上一张

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值