为什么要自己编译,请自行摆渡。
#---------------------------------------------------------------------------
# compile and inistall dlib C++ library
#---------------------------------------------------------------------------
cd /opt
mkdir dlib-root && cd dlib-root
mkdir build && mkdir install
git clone https://github.com/davisking/dlib.git source
cd build
cmake-gui
1. Config
dlib默认是编译成静态库,而我们想要的动态库。
点击"Add ENtry"按纽, 如下图:
按上图输入新增的Config参数, 这将编译成我们希望的动态库。
将DDLIB_USE_CUDA的值设为0(不启用CUDA, 理由自己脑补)
将/opt/dlib-root/install的value由默认的/usr/local修改为/opt/dlib-root/install
将DUSE_AVX_INSTRUCTIONS打勾
不选择:
DLIB_JXL_SUPPORT:0 ##这玩意儿有点麻烦, 请百度libjxl
DLIB_USE_FFMPEG, 点击"Configure"按纽, 出现以下:
Checking for modules 'libavdevice;libavfilter;libavformat;libavcodec;libswresample;libswscale;libavutil'
No package 'libavdevice' found
No package 'libavfilter' found
*****************************************************************************
*** No FFMPEG/LIBAV libraries found. ***
*** On Ubuntu you can install them by executing ***
*** sudo apt install libavdevice-dev libavfilter-dev libavformat-dev ***
*** sudo apt install libavcodec-dev libswresample-dev libswscale-dev ***
*** sudo apt install libavutil-dev ***
*****************************************************************************
打开另一session, 按照提示安装相关依赖组件。
点击"Configure"按纽, 这次没有错误提示了:
Using CMake version: 3.29.2
Compiling dlib version: 19.24.99
Enabling AVX instructions
Found system copy of libpng: /usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libz.so
Found system copy of libjpeg: /usr/lib/x86_64-linux-gnu/libjpeg.so
Searching for BLAS and LAPACK
Searching for BLAS and LAPACK
Checking for module 'cblas'
No package 'cblas' found
Found OpenBLAS library
Using OpenBLAS's built in LAPACK
Searching for FFMPEG/LIBAV
Checking for modules 'libavdevice;libavfilter;libavformat;libavcodec;libswresample;libswscale;libavutil'
Found libavdevice, version 58.13.100
Found libavfilter, version 7.110.100
Found libavformat, version 58.76.100
Found libavcodec, version 58.134.100
Found libswresample, version 3.9.100
Found libswscale, version 5.9.100
Found libavutil, version 56.70.100
Found FFMPEG/LIBAV via pkg-config in `/usr/lib/x86_64-linux-gnu`
Configuring done (0.9s)
2. Generate:
3. build && install:
cmake ../source
make -j $(nproc)
make install
make clean
4. 创建include及lib的链接:
cp /opt/dlib-root/install/lib/pkgconfig/dlib-1.pc /usr/local/lib/pkgconfig
ln -sf /opt/dlib-root/install/include/dlib /usr/local/include/dlib
ln -sf /opt/dlib-root/install/lib/libdlib.so /usr/local/lib/libdlib.so
5. 查看版本
pkg-config --modversion dlib-1