当前位置: 首页 > news >正文

libimobiledevice --Mingw32交叉编译

本文只描述 windows环境下的使用情况,linux平台基本雷同

 一、配置编译环境.

(1)操作系统 :Windows10 (64bit).

(2)类unix环境:Cygwin(64bit) 下载路径:https://www.cygwin.com/setup-x86_64.exe。

(3)安装Cygwin ,注意:为防止有API Hook的行为导致 Cygwin出现异常,请在干净环境下使用。

   流程如下:

  

网易开源镜像站 :http://mirrors.163.com/,找到cygwin并添加路径

 

安装 autoconf相关工具

安装mngw32环境

下一步,等待安装完成, 如果要安装cygwin自带的一些bash命令也可以按此方法行事(如:lynx、wget、apt-cyg、cmake等),

 二、使用 cygwin自带的 i686-w64-mingw32 编译 libimobiledevice            (https://github.com/libimobiledevice)

   以下工程的默认安装目录都是在 /usr/local /目录下, 如需改动可以使用 configure的--prefix 自行配置

   编译顺序:(由库之间的依赖性决定)

  1、 libzip:由于Cygwin当前版本自带的包对于处理大于2G的文件有bug,所以我们要自己编译安装libzip.

       (1): 编译安装前先卸载掉libzip. (命令 :apt-cyg remove mingw-i686-libzip)

       (2):下载libzip源码 https://libzip.org/download/libzip-1.3.2.tar.gz. 解压.(命令 tar -zxvf  libzip-1.3.2.tar.gz)

    (3):进入解压目录, 执行配置命令 ./configure --host="i686-w64-mingw32" (关于 配置参数选项,可使用 configure  --help查看)

         (4):make ,成功后   make install . 

  2、libplist : git clone https://github.com/libimobiledevice/libplist.git

        进入目录: ./autogen.sh --host=i686-w64-mingw32 --without-cython  成功,make 成功,make install

  3、libusbmuxd: git clone https://github.com/libimobiledevice/libusbmuxd.git

   进入目录: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh --host=i686-w64-mingw32  成功,make 成功,make install

  4、libimobiledevice : git clone https://github.com/libimobiledevice/libimobiledevice.git ( 需要 Openssl 或者GnuTLS)

         进入目录: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh --host=i686-w64-mingw32 --without-cython 成功,make 成功,make install 

  5、libirecovery:git clone https://github.com/libimobiledevice/libirecovery.git          

  进入目录: ./autogen.sh --host=i686-w64-mingw32 成功,make 成功,make install 

  6、idevicerestore :git clone https://github.com/libimobiledevice/idevicerestore.git

  进入目录: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh --host=i686-w64-mingw32 --without-cython 成功,make 成功,make install 

 

    上述步骤完毕后,将 /usr/i686-w64-mingw32/sys-root/mingw/bin 目录下的依赖库 dll拷贝到 /usr/local/bin 目录下即可。(运行相关exe 根据报错便可确定少了哪些dll.)

  

    

 

转载于:https://www.cnblogs.com/luisfan/p/8557302.html

相关文章:

  • 在c:forEach作用域外使用标签所产生的值
  • 04-手机套餐:建造者模式
  • css总结1:position定位:absolute/relative/fixed
  • zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)
  • SQL循环语句 详解
  • OpenCV问题集锦
  • 20154327 Exp1 PC平台逆向破解
  • ios 通知与通知传值2018.03.17
  • 20155307《网络对抗》PC平台逆向破解(二)
  • 273. Integer to English Words
  • DevOps是一种文化,不是角色!
  • 00004、python+selenium 的三种时间等待方式
  • SQL SERVER存储过程一
  • HTML中nbsp; ensp; emsp; thinsp;等6种空白空格的区别
  • P1280 尼克的任务
  • JS 中的深拷贝与浅拷贝
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Angular2开发踩坑系列-生产环境编译
  • angular组件开发
  • CSS实用技巧
  • ES学习笔记(12)--Symbol
  • javascript 哈希表
  • Java编程基础24——递归练习
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • php的插入排序,通过双层for循环
  • Python学习笔记 字符串拼接
  • 安卓应用性能调试和优化经验分享
  • 多线程 start 和 run 方法到底有什么区别?
  • 聊聊redis的数据结构的应用
  • 面试总结JavaScript篇
  • 日剧·日综资源集合(建议收藏)
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 怎样选择前端框架
  • 追踪解析 FutureTask 源码
  • PostgreSQL之连接数修改
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​configparser --- 配置文件解析器​
  • #includecmath
  • (2022 CVPR) Unbiased Teacher v2
  • (BFS)hdoj2377-Bus Pass
  • (Git) gitignore基础使用
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)原始图像数据和PDF中的图像数据
  • (转载)深入super,看Python如何解决钻石继承难题
  • ./configure,make,make install的作用
  • .net 生成二级域名
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET6实现破解Modbus poll点表配置文件