X265交叉编译

X265编译


x264基本被淘汰了,x265可向下兼容x264,使用脚本自动编译。

#!/bin/sh

#设置交叉编译的目标系统
CROSS_SYSTEM_NAME=Linux

#设置平台处理器
CROSS_SYSTEM_PROCESSOR=armv8

#设置交叉编译器前缀
CROSS_TOOLCHAIN_PREFIX=aarch64-linux-gnu

#设置X265安装路径
X265_INSTALL_PATH=/opt/x265

#编译的版本
X265_VER=3.2.1

#自动组合包名,无需修改
PACKAGE_NAME=x265_${X265_VER}

#自动组合压缩包名,无需修改
COMPRESS_PACKAGE=${PACKAGE_NAME}.tar.gz

#下载地址自动组合,无需修改
DOWNLOAD_LINK=http://download.videolan.org/videolan/x265/${COMPRESS_PACKAGE}

#编译器路径,无需修改
CROSS_FULL_PATH=`whereis ${CROSS_TOOLCHAIN_PREFIX}-gcc | awk -F: '{ print $2 }' | awk '{print $1}'`

CROSS_PATH=`dirname ${CROSS_FULL_PATH}`

#下载源码包
do_download_x265_src () {
 if [ ! -f "${COMPRESS_PACKAGE}" ];then
    if [ ! -d "${PACKAGE_NAME}" ];then
    	wget -c ${DOWNLOAD_LINK}
    fi
 fi
}

#解压源码包
do_tar_package () {
#if exist file then
 if [ ! -d "${PACKAGE_NAME}" ];then
		if [ -f "${COMPRESS_PACKAGE}" ];then
  		tar -xvf ${COMPRESS_PACKAGE}
 		else
			echo "\033[1;33m no such file or directory ...\033[0m"
			exit 65
		fi  
 fi
}

#交叉编译修改
make_pre()
{
	cd ${PACKAGE_NAME}/build
	mkdir -p ${CROSS_SYSTEM_PROCESSOR} 
	cd ${CROSS_SYSTEM_PROCESSOR}

	touch crosscompile.cmake
	#echo "set(CROSS_COMPILE_ARM 1)" > crosscompile.cmake
	echo "set(CMAKE_SYSTEM_NAME ${CROSS_SYSTEM_NAME})" > crosscompile.cmake
	echo "set(CMAKE_SYSTEM_PROCESSOR ${CROSS_SYSTEM_PROCESSOR})" >> crosscompile.cmake
	echo "" >> crosscompile.cmake
	echo "# specify the cross compiler" >> crosscompile.cmake
	echo "set(CMAKE_C_COMPILER ${CROSS_PATH}/${CROSS_TOOLCHAIN_PREFIX}-gcc)" >> crosscompile.cmake
	echo "set(CMAKE_CXX_COMPILER ${CROSS_PATH}/${CROSS_TOOLCHAIN_PREFIX}-g++)" >> crosscompile.cmake
	echo "set(CMAKE_SHARED_LINKER_FLAGS \"-ldl \${CMAKE_SHARED_LINKER_FLAGS}\")" >> crosscompile.cmake
	echo "" >> crosscompile.cmake
	echo "# specify the target environment" >> crosscompile.cmake
	echo "SET(CMAKE_FIND_ROOT_PATH  ${CROSS_PATH})" >> crosscompile.cmake
	echo "" >> crosscompile.cmake
	echo "# specify the target install path" >> crosscompile.cmake
	echo "set( CMAKE_INSTALL_PREFIX \"${X265_INSTALL_PATH}\")" >> crosscompile.cmake
}

#编译并安装
make_installx265()
{
	cmake -DCMAKE_TOOLCHAIN_FILE=crosscompile.cmake -G "Unix Makefiles" -DCMAKE_C_FLAGS="-fPIC ${CMAKE_C_FLAGS}" -DCMAKE_CXX_FLAGS="-fPIC ${CMAKE_CXX_FLAGS}" -DCMAKE_SHARED_LINKER_FLAGS="-ldl ${CMAKE_SHARED_LINKER_FLAGS}"  ../../source && make -j2
	sudo make install
}

do_download_x265_src
do_tar_package
make_pre
make_installx265
exit $?
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aron566

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值