cmake 交叉编译 x265到 arm32库

搞了好几天一直有问题,告诉我编译器找不到,一直认为只要使用ndk里面的编译器就行了,但一直出问题,原来不是这样的,要再装一个交叉编译器,还以为搞不定了,幸好啊~~~~~~

在交叉编译x265之前,可以在网上先看看cmake交叉编译的教程,其实最主要就是将交叉编译器的位置告诉给cmake,也就是在cmakelist.txt中设置一些信息,在这之前,还要先装一个编译器 arm-linux-gcc。具体步骤如下:
1:首先在网上下载 arm-linux-gcc-4.4.3.tar.gz安装包,解压后,在环境变量添加它的路径即可。参照 http://jingyan.baidu.com/article/afd8f4de4deea434e286e994.html,讲的很详细,我的运行结果与他一致。
2:编译器安装好后,输入命令:

  arm-linux-gcc  -v   

查看有没有安装成功

3:现在开始修改x265的cmakelist.txt信息,x265的编译有两种方式,第一种是在/x265_1.6/build/linux下编译,第二种是在/x265_1.6/source下编译,而这个目录下的cmakelist.txt就是告诉x265应该如何编译,所以我们只要修改这个文件即可:

cd  /x265_1.6/source

在cmakelist.txt开始部分输入以下信息:

set( CMAKE_SYSTEM_NAME Linux ) 
set( CMAKE_SYSTEM_PROCESSOR ARM ) //告诉cmake 为交叉编译,目标为生成arm
set( CMAKE_C_COMPILER "/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc") //交叉编译器的位置
set( CMAKE_CXX_COMPILER "/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++") //交叉编译器的位置
set( CMAKE_FIND_ROOT_PATH "/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/bin/" ) 

保存后,

  cmake ../source 
  make 
  make install

即可

这样便生成了arm的库,就在/x265_1.6/source目录下 ,可以用命令 file libx265.so.51 查看库的类型,结果为

libx265.so.51: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped

成功!!!

你可能感兴趣的:(ARM,cmake,x265,交叉编译器)