编译DALI库

DALI库是一个用于数据预处理以及数据读取的第三方加速库。最近因为调用这个库的时候会出问题,所以重新编译了一下,这里记录下编译的过程。

首先,DALI库的官方地址官方文档地址,因为我这里使用的是旧版本的DALI库——0.11版本,其编译文档可以在这里找到,一般来说,直接按照流程编译是没有问题的,但是对于没有Root权限情况下的编译,就有点麻烦了。下面介绍一下:

首先,下面的编译条件要满足,尤其是对于GCC版本,我编译的使用使用了GCC4.9.2。

image-20200620174055268

值得注意的是,对于上面的编译条件,有一个通常不满足,那就是FFmpeg库,按照官方文档里面的指示,可以从这里下载FFmpeg安装包,我这里将安装包放到了/data2/zhaodali/software下,然后执行下面操作:

1
2
3
4
5
6
tar -jxvf ffmpeg-3.4.2.tar.bz2
cd ffmpeg-3.4.2
# 使用--prefix指定安装路径
./configure --prefix=/data2/zhaodali/software/ffmpeg-3.4.2/install --disable-static --disable-all --disable-autodetect --disable-iconv --enable-shared --enable-avformat --enable-avcodec --enable-avfilter --enable-protocol=file --enable-demuxer=mov,matroska
make -j 34
make install

然后,编译DALI库:

1
2
3
4
5
6
7
8
git clone --recursive https://github.com/NVIDIA/dali
git checkout release_v0.11
cd dali
mkdir build
cd build
# 指定为Debug模型,指定ffmpeg路径,指定安装路径
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/data2/zhaodali/software/ffmpeg-3.4.2/install/ -DCMAKE_INSTALL_PREFIX=/data2/zhaodali/software/DALI/install
make -j"$(nproc)"

其实这里不需要安装,编译完成之后,DALI库的头文件在/data2/zhaodali/software/DALI/build/dali/python/nvidia/dali/include这里,而库文件为/data2/zhaodali/software/DALI/build/dali/python/nvidia/dali/libdali.so,然后就可以使用C++接口调用DALI库了。撒花~

------ 本文结束------
坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道