ubuntu下交叉编译x265

本文记录一下在ubuntu下交叉编译x265的详细过程,及有可能遇到的问题和解决方法。送给有需要的朋友们。

好了,闲话不多说,步骤如下:

1. 首先,安装编译所需要的工具

sudo apt install yasm cmake cmake-curses-gui

2. 下载x265的压缩包, tar xvf x265_2.7.tar.gz  解压,在x265_2.7/build/arm-linux/目录下可以看到有两个文件crosscompile.cmakemake-Makefiles.bash,需要对两个文件进行修改,如下:

crosscompile.cmake修改后如下:

# CMake toolchain file for cross compiling x265 for ARM arch
# This feature is only supported as experimental. Use with caution.
# Please report bugs on bitbucket
# Run cmake with: cmake -DCMAKE_TOOLCHAIN_FILE=crosscompile.cmake -G "Unix Makefiles" ../../source && ccmake ../../source

set(CROSS_COMPILE_ARM 1)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR armv6l)

# specify the cross compiler
set(CMAKE_C_COMPILER /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc)
set(CMAKE_CXX_COMPILER /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++)

# specify the target environment
SET(CMAKE_FIND_ROOT_PATH  /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi)

这里设置交叉编译器可以将变量设置成完整路径或者文件名,我这里设置用的是完整路径,朋友们可根据自己的交叉编译器的安装路径进行设置 或者 设置成文件名arm-linux-gcc和arm-linux-g++(前提是配置好交叉编译器的环境变量)。

 make-Makefiles.bash修改后如下:

#!/bin/bash
# Run this from within a bash shell

cmake -DCMAKE_TOOLCHAIN_FILE=crosscompile.cmake -G "Unix Makefiles" ../../source && ccmake ../../source

 3. 好了,文件修改完毕,下面就要进行配置编译了

先别急,看看官方说明文档的简介

    = Build Instructions Linux =

    1. Use cmake to generate Makefiles: cmake ../source
    2. Build x265:                      make

      Or use our shell script which runs cmake then opens the curses GUI to
      configure build options

    1. cd build/linux ; ./make-Makefiles.bash
    2. make

可以看到,有两种编译方式,本人选择的是后者,

注意:我们是要进行交叉编译,所以是cd build/arm-linux

首先给make-Makefiles.bash赋予可执行权限:chmod +x make-Makefiles.bash

然后,执行:./make-Makefiles.bash

可以看到,会弹出一个目录 ,我的配置如下:

 BIN_INSTALL_DIR                  bin                                                                                                        
 CHECKED_BUILD                    OFF                                                                                                        
 CMAKE_BUILD_TYPE                 Release                                                                                                    
 CMAKE_INSTALL_PREFIX             /usr/local/x265    (这是本人设置的安装路径,可修改为你需要的安装路径)                                                                                       
 DETAILED_CU_STATS                OFF                                                                                                        
 ENABLE_AGGRESSIVE_CHECKS         OFF                                                                                                        
 ENABLE_ASSEMBLY                  ON                                                                                                         
 ENABLE_CLI                       ON                                                                                                         
 ENABLE_HDR10_PLUS                OFF                                                                                                        
 ENABLE_LIBNUMA                   ON                                                                                                         
 ENABLE_PIC                       OFF                                                                                                        
 ENABLE_PPA                       OFF                                                                                                        
 ENABLE_SHARED                    OFF    (这里默认是开启的,生成动态库,根据需要设置)                                                                                                        
 ENABLE_TESTS                     OFF                                                                                                        
 ENABLE_VTUNE                     OFF                                                                                                        
 FSANITIZE                                                                                                                                   
 LIBDL                            /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libdl.so    (不要漏了这个库,根据实际路径设置)                        
 LIB_INSTALL_DIR                  lib                                                                                                        
 NASM_EXECUTABLE                  /usr/bin/yasm    (yasm文件,在本文开头第一步已经安装好了)                                                                                              
 NO_ATOMICS                       OFF                                                                                                        
 NUMA_ROOT_DIR                    NUMA_ROOT_DIR-NOTFOUND                                                                                     
 STATIC_LINK_CRT                  OFF                                                                                                        
 WARNINGS_AS_ERRORS               OFF            

设置完成后,按c,然后按g继续。

然后    make    (耐心等待编译完成)

这里说明一下,目前x265的版本还有2.8和2.9这两个比2.7新的版本,但这两个版本用以上配置去编译会出现问题,目前本人还没有研究出解决所出现问题的方法(欢迎读者留言探讨),所以暂时就用2.7版本啦!

最后    sudo make install    (因为我的安装路径是/usr/local/x265,需要超级权限,所以加上sudo)

等待安装完成。

提示:在编译用到x265库函数的程序时,需要加上  -lx265

好了,本文内容到此结束,希望能给读者带来一些帮助,欢迎读者留言一起学习探讨!

 

 

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu Arm交叉编译环境是指在Ubuntu操作系统上搭建的用于编译ARM架构程序的环境。可以通过在Ubuntu上进行配置和安装一些必需的软件和依赖项来搭建这个环境。 首先,需要准备环境,包括下载ARM交叉编译工具和安装必需的依赖项。根据引用所提到的,在Ubuntu16.04X64上可以下载arm-linux-gcc-4.4.3.tar.gz作为ARM交叉编译工具。同时,根据引用提到的,你还应该安装一些必需的依赖项,如bison、texinfo、build-essential、make和gawk等。 接下来,你需要解压和配置ARM交叉编译环境。可以根据引用中的指导,解压下载的ARM交叉编译工具,并配置相应的环境变量,以使环境变量生效。 最后,你可以进行编译测试,确保ARM交叉编译环境已经正确搭建。通过执行一些编译测试的命令,可以验证编译器是否正常工作。 总结来说,搭建Ubuntu Arm交叉编译环境的步骤包括准备环境、解压配置ARM交叉编译工具、配置环境变量使其生效、安装必需的依赖项,并进行编译测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Ubuntu 搭建 ARM 交叉编译环境](https://blog.csdn.net/wzfgd/article/details/114385473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Ubuntu构建ARM交叉编译器](https://blog.csdn.net/weixin_43283275/article/details/125030556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值