学习昇腾开发的第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.pswp.cn/web/87190.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人仿真(1)Ubuntu24.04下CLion的ROS2开发环境配置

目录 一、前言二、配置要求安装ROS2安装CLion 三、配置步骤四、后记 一、前言 近日CLion已开放非商用免费使用。相比教程中常用的VSCode,CLion在自动补全、调试和环境变量配置等方面表现更为出色。不过截至本文撰写时,CLion官网仅提供了Windows系统下的…

WPF两种绑定方式的分析

一、两种绑定方式的分析 你提供的代码展示了两种不同的属性绑定实现方式:传统的CLR属性配合INotifyPropertyChanged接口,以及WPF依赖属性(DependencyProperty)系统。 相同点 目的相同:两种方式都是为了实现属性值变化时通知UI更新数据绑定…

【零基础学AI】第14讲:支持向量机实战 - 文本分类系统

本节课你将学到 理解支持向量机的核心思想和几何直觉 掌握SVM的关键参数和核函数选择 学会文本数据预处理和特征提取 完成一个邮件分类项目 对比SVM与其他算法的性能差异 开始之前 环境要求 Python 3.8内存: 建议2GB 需要安装的包 pip install pandas numpy scikit-learn …

美团 mtgsig1.2 最新版分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 部分代码 result cp.call…

【实战】CRMEB Pro 企业版安装教程(附 Nginx 反向代理配置 + 常见问题解决)

一、前言 CRMEB Pro 是一款企业级高并发高性能的电商系统,支持 Linux 服务器环境,需要 PHP 8.0 及以上版本,兼容多种 WEB 服务器(如 Nginx 和 Apache),并支持 MySQL 数据库。本文将详细介绍如何从零开始安…

解决Linux下根目录磁盘空间不足的问题

ubantu中提示根目录磁盘空间不足 解决办法:对根目录磁盘空间进行扩展。 一、使用lsblk查看磁盘使用情况 命令行输入:lsblk aaaubuntu:~/Desktop$ lsblk可以看到sda5是挂载在根目录上的。所以我们要对sda5进行扩展 二、扩展硬盘空间 1、关闭虚拟机 2、…

【C++】--入门

前面我们学习C语言的时候,我们也有讲过C的部分历史,我们看其名字就知道其和我们的C语言肯定是有密不可分的关系的,我们的C是在C的基础上发展的,其弥补了C语⾔在表达能⼒、可维护性 和可扩展性⽅⾯的不⾜。 下面为C的近年来的几次…

JAVA内存区域划分

根据《JAVA虚拟机规范》的规定,JAVA虚拟机在执行JAVA程序的过程中会把内存划分为不同的数据区域。不同类型的数据会存储在不同的区域,理解JAVA内存区域的工作细节对理解JAVA多线程、线程安全性有着重要意义。 注意,JAVA内存区域的划分与我们…

Navicat 导入 SQL 文件

1. 安装并打开 Navicat 安装 Navicat(如 Navicat Premium、Navicat for MySQL),百度或者淘宝就有很多破解版。 打开 Navicat,进入主界面。 2. 新建数据库连接 点击左上角 “连接” 按钮,选择你对应的数据库类型&…

《Go语言高级编程》玩转RPC

《Go语言高级编程》玩转RPC 一、客户端 RPC 实现原理:异步调用机制 Go 的 RPC 客户端支持同步和异步调用,核心在于 Client.Go 方法的实现: 1. 同步调用(Client.Call)的本质 func (client *Client) Call(serviceMet…

四大核心要素驱动汽车智能化创新与相关芯片竞争格局

作者:北京华兴万邦管理咨询有限公司 翔煜 商瑞 智能汽车时代的加速到来,使车载智能系统面临前所未有的算力需求。随着越来越多车型引入电子电气架构转向中心化、智能驾驶的多传感器融合、智能座舱的多模态交互以及生成式AI驱动的虚拟助手等创新技术&a…

照明新基建:塔能科技如何用数字骨骼支撑智慧城市生长

一、能源管理困局:双碳目标下的市政用电痛点 在双碳背景下,城市照明用电量已引起市政部门的重点关注。据国家统计局统计:我国城市照明用电量已占据全市城市用电量的28%,部分城市的照明用电量已高达35%以上,高压钠灯传统…

让Claude Code像Cursor一样好用

最近折腾AI工具,发现Claude Code真是个宝藏。但说实话,初学者一上手,十有八九会被命令行那一堆黑框框劝退。你以为你用熟了?其实你只解锁了Claude Code不到20%的威力,剩下的80%都藏在命令行背后的“黑魔法”里。00后谁…

ROS 2 中更改从设备(如电机控制器)的运动模式

在 ROS 2 中更改从设备(如电机控制器)的运动模式(例如从位置模式切换到速度模式),需要通过操作模式(Mode of Operation,对应对象字典索引0x6060) 进行设置。结合你的配置&#xff08…

朴素贝叶斯分类

一、朴素贝叶斯算法概述 朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理的简单概率分类算法,它假设特征之间相互独立("朴素"的含义)。尽管这个假设在现实中很少成立,但该算法在许多实际应用中表现优异,特别是…

python协程:yield实现协程执行、生成器取值的三种方式

yield关键字执行流程 注意:yield关键字的调用次数如果超过了任务执行次数会报错,提示stopiteration异常,例如 正常范围内的任务执行 # 定义一个任务(函数1) def task1():for i in range(3):print(f----task1 i {i}-…

pdf删除一页 python实现(已验证)

首先安装库 使用PyPDF2 首先,确保你已经安装了PyPDF2。如果没有安装,可以通过pip安装: pip install PyPDF2 然后运行 import PyPDF2def remove_page(input_pdf_path, output_pdf_path, page_number_to_remove):# 打开PDF文件with open(i…

2025.1版本PyCharam找不到已存在的conda虚拟环境

前言 创建Python项目指定conda虚拟环境是最常用的操作,我下载的2025.1版本PyCharam编译器找不到我已经创建好的conda虚拟环境,解决方法如下 目录 问题描述 问题解决 总结 问题描述 我使用2025.1版本PyCharam编译器创建项目指定已经存在的虚拟环境出现如下情景 说是我没有…

开机启动项在哪里设置 实用步骤分享

电脑开机时,系统会自动运行一系列程序,其中包括必要的系统进程和用户自行添加的启动项。然而,过多的启动项可能会导致开机速度变慢,影响系统性能。因此,合理管理开机启动项,可以优化电脑的运行效率。电脑开…

LeetCode--39.组合总和

前引:明天就考最后一趟考试,最近考试周,我时时断更,从明天开始,就会一直更新了,可以期待一下 解题思路: 1.获取信息: 给定一个无重复的整数数组和一个目标值 从数组中选取任意数量的…