编译iOS平台&MAC平台
1.下载x265源码
2.安装cmake命令行工具
ruiwenfeng$ brew search cmake
cmake
ruiwenfeng$ brew install cmake
安装成功:
==> Summary
🍺 /usr/local/Cellar/cmake/3.8.1: 2,208 files, 29.3MB, built in 5 minutes 28 seconds
3.cmake创建工程
cd ~/x265_2.4/build/xcode
./make-project.sh
4.编译MAC版本
执行了上面的make-project.sh后生成了Mac版本的xcode工程
直接执行x265-static就得到了mac版本的静态库。
5.编译iOS版本
1.这里因为没有直接生成iOS版本的target,那么就需要自己添加。
可以选择在原工程里面添加target,或者新建一个工程。这里,我就自己建了一个iOS静态库的新工程。
2.将x265的mac工程common文件夹以及encoder文件夹中用到的所有头文件以及cpp文件拖入新工程。
3.将x265的mac工程input文件夹以及output文件夹中的全部文件拖入新工程。
4.将x265的mac工程中x265.h,x265.cpp,x265-extras.h,x265cli.h添加入新工程。
5.在新工程中新建头文件x265_config.h,其中添加定义#define X265_BUILD 116。
6.在新工程中新建头文件PrefixHeader.h并且设置为预编译文件,在这个头文件中添加以下定义
#define X265_ARCH_ARM 1
#define MACOS 1
#define HAVE_INT_TYPES_H 1
#define __STDC_LIMIT_MACROS 1
#define HIGH_BIT_DEPTH 0
#define X265_DEPTH 8
#define EXPORT_C_API 1
#define X265_NS x265
#define HAVE_STRTOK_R 1
也可以不新建预编译头文件,在project中宏定义添加相关定义。
7.修改所有.h头文件类型为C++header。
8.修改motion.h中的
#include "yuv.h"
改为
#include "common/yuv.h"
恭喜,编译成功啦。