当前位置: 首页 > news >正文

学习昇腾开发的第12天--安装第三方依赖

第三方依赖安装指导(C++样例)

前置条件

1. 按照官方指导文档完成CANN包安装。
2. CANN版本需要>=5.0.4.alpha001,低于此版本请参见昇腾CANN样例仓介绍中的版本说明切换tag并使用发行版。

安装须知

samples仓中的部分c++样例使用到opencv,ffmpeg等第三方依赖进行图像等处理,所以需要在运行之前,根据本文指导安装第三方依赖并进行环境配置。

开发环境及运行环境说明如下:

  • 运行环境: 运行环境指可运行算子、推理或训练等程序的环境,运行环境必须带昇腾AI处理器的设备。
  • 开发环境: 可用于代码开发、调试、编译等开发活动。该环境可以是带昇腾AI处理器的设备,也可以是其他满足CANN软件安装的环境。

昇腾AI设备安装开发环境,同时将此环境作为运行环境的samples相关依赖安装 (推荐)

以下指导以普通用户HwHiAiUser安装CANN包为例说明;如果是root用户,请将安装准备中所有的${HOME}修改为/usr/local。

安装准备

请执行以下命令进行安装准备

# 以安装用户在任意目录下执行以下命令,打开.bashrc文件。
vi ~/.bashrc  
# 在文件最后一行后面添加如下内容。
export CPU_ARCH=`arch`
export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}  #代码编译时链接samples所依赖的相关库文件
export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH  #运行时链接库文件
export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest #CANN软件安装后的文件存储路径,根据安装目录自行修改
# 执行命令保存文件并退出。
:wq!  
# 执行命令使其立即生效。 
source ~/.bashrc 
# 创建第samples相关依赖文件夹
mkdir -p ${THIRDPART_PATH}
# 下载源码并安装git
cd ${HOME}
sudo apt-get install git
git clone https://gitee.com/ascend/samples.git
# 拷贝公共文件到samples相关依赖路径中
cp -r ${HOME}/samples/common ${THIRDPART_PATH}

如果是200DK场景还需要执行以下命令拷贝media_mini等so文件以及相关头文件,满足摄像头样例编译需要。

mkdir -p ${INSTALL_DIR}/driver
cp /usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libslog.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libc_sec.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libmmpa.so ${INSTALL_DIR}/driver/
cp /usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver/
安装过程
安装opencv

执行以下命令安装opencv,如果代码中并没有使用opencv相关功能及函数,可以跳过此步骤(注:请确保安装的版本是3.x)。

sudo apt-get install libopencv-dev
安装ffmpeg及x246插件

执行以下命令源码安装ffmpeg,由于apt安装的ffmpeg版本较低,所以需要源码安装。源码安装ffmpeg主要是为了acllite库的安装,如果代码中并没有使用ffmpeg或acllite,可以跳过此步骤。

# 下载x264
cd ${HOME}
git clone https://code.videolan.org/videolan/x264.git
cd x264
# 安装x264
./configure --enable-shared --disable-asm
make
sudo make install
sudo cp /usr/local/lib/libx264.so.164 /lib
# 下载ffmpeg
cd ${HOME}
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3
# 安装ffmpeg
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH}
make -j8
make install
安装acllite库

执行以下命令安装acllite(注意,安装前需要先进行ffmpeg的源码安装)。如果代码中并没有使用acllite库相关功能及函数,可以跳过此步骤。

# 编译并安装acllite
cd ${HOME}/samples/cplusplus/common/acllite/
make
make install
安装presentagent

执行以下命令源码安装protobuf及presentagent。如果代码中并没有使用presentagent相关功能及函数,可以跳过此步骤。
开始安装protobuf及presentagent。

# 安装protobuf相关依赖
sudo apt-get install autoconf automake libtool
# 下载protobuf源码
cd ${HOME}
git clone -b 3.13.x https://gitee.com/mirrors/protobufsource.git protobuf
# 编译安装protobuf
cd protobuf
./autogen.sh
./configure --prefix=${THIRDPART_PATH}
make clean
make -j8
sudo make install
# 进入presentagent源码目录并编译
cd ${HOME}/samples/cplusplus/common/presenteragent/proto
${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./
# 开始编译presentagnet
cd ..
make -j8
make install
http://www.dtcms.com/a/263756.html

相关文章:

  • 【Linux基础知识系列】第三十八篇 - 打印系统与 PDF 工具
  • Ubuntu 20.04 下 OpenVINO 2024 安装与配置
  • 业界优秀的零信任安全管理系统产品介绍
  • 基于 51 单片机做的二十四点小游戏
  • MongoDB 常用增删改查方法及示例
  • stm32 单片机主要优点有哪些?
  • 【Docker基础】Docker数据卷:命名卷(Named Volumes)详解
  • 从 0 到 1 构建可视化限流演示:React + Framer Motion 实现 Token Bucket 动画
  • Camera相机人脸识别系列专题分析之十五:人脸特征检测FFD算法之libcvface_api.so算法API详细注释解析
  • 解决 GitHub Actions 中 S3 部署文件堆积问题的完整指南
  • 使用tensorflow的线性回归的例子(二)
  • 数字雨动画背景
  • TensorFlow源码深度阅读指南
  • 工作中常用的Git操作命令(一)
  • 深度解析服务级别协议(SLA):保障业务稳定性的关键承诺
  • RabbitMQ简单消息发送
  • Reactor Hot Versus Cold
  • 比Axure更简单?墨刀高保真原型交互“监听变量”使用教程
  • 基于中国印尼会计准则差异,中国企业在印尼推广ERP(SAP、Oracle)系统需要注意的细节
  • 应用场景全解析:飞算 JavaAI 的实战舞台
  • python+uniapp基于微信小程序的适老化背景下老年人康养知识线上学习系统nodejs+java
  • C++ 11 中 condition_variable 的探索与实践
  • 解锁阿里云日志服务SLS:云时代的日志管理利器
  • 【AI 时代的网络爬虫新形态与防护思路研究】
  • iOS 越狱插件 主动调用C函数和OC函数
  • DBA 命令全面指南:核心操作、语法与最佳实践
  • 【仿muduo库实现并发服务器】Channel模块
  • 大规模分布式数据库读写分离架构:一致性、可用性与性能的权衡实践
  • opencv使用 GStreamer 硬解码和 CUDA 加速的方案
  • Java ArrayList 扩容机制