libffi编译

libffi可供移动端动态生成函数,调用函数。git地址:https://github.com/libffi/libffi

由于之前使用的libffi是从项目中copy出来的,具体版本未知,只知道线上稳定运行。
中间libffi也有一些问题被修复所以更新libffi提上了日程,很多同学自己编译反馈有编译问题,所以我这里重新编了一个包。顺便记录下来,以供后人方便。

1. 下载源码

https://github.com/libffi/libffi/releases

cd libffi

2. 生成对应架构C代码

python generate-darwin-source-and-headers.py

3. 编译libff.a

根据你需要的架构编译,我这里为TTDFKit使用,应用在手机端,所以要打真机的armv7,arm64
模拟器i386,x86_64.

python generate-darwin-source-and-headers.py

pushd build_iphoneos-arm64
make
popd

pushd build_iphoneos-armv7
make
popd

pushd build_iphonesimulator-i386
make
popd

pushd build_iphonesimulator-x86_64
make
popd

4. 多架构合并

将上边制作4种架构的libffi.a合并。

lipo -create build_iphoneos-arm64/.libs/libffi.a \
build_iphoneos-armv7/.libs/libffi.a \
build_iphonesimulator-i386/.libs/libffi.a \
build_iphonesimulator-x86_64/.libs/libffi.a \
-output libffi.a

你可能感兴趣的:(libffi编译)