學習昇騰開發的第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
英文地址,請注明出處:http://en.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.獲取信息: 給定一個無重復的整數數組和一個目標值 從數組中選取任意數量的…