背景
本來想着把 x265編譯到ffmpeg里面,搞定了x265的編譯;但是一直報ERROR: x265 not found using pkg-config
這個錯誤,我按照網上的資料,查看了ffbuild/config.log
,也修改了 .pc 也export 了,可是還是不行。好像是與數學庫有關,但是添加了-lm -stdc++
都無濟於事。
先把 x265 交叉編譯的成果分享出來,有空再試着搞搞
2020年6月12日 搞定了 ffmpeg 移植加上 x265 的問題
編譯
一個腳本搞定。
##
# Copyright By Schips, All Rights Reserved
# https://gitee.com/schips/
# File Name: make.sh
# Created : Mon 02 Sep 2019 08:05:53 PM HKT
##
#!/bin/sh
BASE=`pwd`
BUILD_HOST=arm-linux
OUTPUT_PATH=${BASE}/install
set_env () {
sudo apt-get install cmake -y
}
make_dirs () {
#為了方便管理,創建有關的目錄
cd ${BASE} && mkdir compressed install source -p
}
tget () { #try wget
filename=`basename $1`
echo "Downloading [${filename}]..."
if [ ! -f ${filename} ];then
wget $1
fi
echo "[OK] Downloaded [${filename}] "
}
download_package () {
cd ${BASE}/compressed
tget http://download.videolan.org/videolan/x265/x265_3.0.tar.gz
}
tar_package () {
cd ${BASE}/compressed
ls * > /tmp/list.txt
for TAR in `cat /tmp/list.txt`
do
tar -xf $TAR -C ../source
done
rm -rf /tmp/list.txt
}
make_x265() {
# 其他編譯選項可以 通過 在 cmake ../source 以后 ccmake ../source 可以查看 ( ccmake 可以通過 sudo apt-get install cmake-curses-gui 進行安裝 )
cd ${BASE}/source/x265*/source
# 獲取 工具鏈所在位置 下面的操作為的是在 CMakeLists.txt 中插入下面內容
#set( CMAKE_SYSTEM_NAME Linux )
#set( CMAKE_SYSTEM_PROCESSOR ARM )
#set( CMAKE_C_COMPILER "/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc" )
#set( CMAKE_CXX_COMPILER "/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-g++" )
#set( CMAKE_FIND_ROOT_PATH "/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/" )
GCC_FULL_PATH=`whereis ${BUILD_HOST}-gcc | awk -F: '{ print $2 }' | awk '{print $1}'` # 防止多個結果
GCC_DIR=`dirname ${GCC_FULL_PATH}/`
sed -i "1i\set( CMAKE_SYSTEM_NAME Linux )" CMakeLists.txt
sed -i "2a\set( CMAKE_SYSTEM_PROCESSOR ARM )" CMakeLists.txt
sed -i "2a\set( CMAKE_C_COMPILER ${GCC_DIR}/${BUILD_HOST}-gcc )" CMakeLists.txt
sed -i "2a\set( CMAKE_CXX_COMPILER ${GCC_DIR}/${BUILD_HOST}-g++ )" CMakeLists.txt
sed -i "2a\set( CMAKE_FIND_ROOT_PATH ${GCC_DIR} )" CMakeLists.txt
cmake ../source
# 指定安裝路徑
sed -i "1i\set( CMAKE_INSTALL_PREFIX "${BASE}/install/x265" )" cmake_install.cmake
make && make install
}
set_env
make_dirs
download_package
tar_package
make_x265