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 clonehttps://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.)
libimobiledevice --Mingw32交叉编译的更多相关文章
- Fedora 17下交叉编译vlc-2.0.6-win32小记
关于编译windows下的vlc网上的教程除了翻译N年前wiki官网的那些蚂蚁文之外,可以说基本没啥参考意义和价值.因为那些都是非常老的版本,0.8.x或者1.x.x,而我这个人有喜欢新鲜事儿,所以就 ...
- MinGW32和64位交叉编译环境的安装和使用
原文出处: CompileGraphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 http://www.kinetic ...
- C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项
目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件 ...
- vmware虚拟机下ubuntu 13.04使用zeranoe脚本交叉编译ffmpeg
2013-07-01今天是建党节,习总书记指出,党的建设要以“照镜子.正衣冠.洗洗澡.治治病”为总要求.希望我们的党越来越纯洁,为人民谋福利.言归正传,每次项目中需要编译相应的ffmpeg,都很费时费 ...
- QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
前两天入手了一块2.8’的tft液晶显示屏,于是和树莓派连了一发,成功将命令行显示在了这块小的可怜的屏幕上之后,觉得这屏幕就显示个黑白内容太浪费了,于是考虑开发一个”脸”(图形用户界面,GUI).首先 ...
- codeSourcery交叉编译环境
arm-none-Linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具.可用于交叉编译ARM系统中所有环节的代码,包括 ...
- 基于Ubuntu交叉编译FFmpeg Windows SDK
写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集.转码.流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格 ...
- 交叉编译调试qemu_guest_agent
Winodws版本 编译环境Fedora23 下载VSS SDK的setup.exe 下载地址 提取VSS SDK头文件 将下面的代码保存成extract-vsssdk-headers.sh脚本,然后 ...
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
随机推荐
- 【转】Ubuntu做日常开发电脑的系统是一种怎样的体验
[原文]https://www.toutiao.com/i6594291159911105031/ Ubuntu 我现在已经基本不开windows了.学习娱乐开发基本都在Ubuntu 首先你要接受的是 ...
- 不使用 vue-cli 与 vue 模版,使用 Vue2.x + webpack4.x 从零开始一步步搭建项目框架
说明 这是我根据慕课网上的一个课程 Vue+Webpack打造todo应用 过程一步步搭下来的框架,去掉了业务相关的逻辑. 项目最终的效果包括了引入vue框架:使用CSS预处理器:使用babel:引用 ...
- ActiveX多线程回调JavaScript
http://www.cnblogs.com/zdxster/archive/2011/01/27/1945872.html
- Linux vsftpd 配置文件详解
.默认配置: >允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES >匿名用户使用的登陆名为ftp或anonymous,口令为空:匿名 ...
- PyQt5--StatusBar
# -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...
- CentOS7+Nginx设置Systemctl restart nginx.service服务
centos 7上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度.关于 ...
- Hive学习之路 (二十一)Hive 优化策略
一.Hadoop 框架计算特性 1.数据量大不是问题,数据倾斜是个问题 2.jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 汇总,产生十几个 jobs,耗时很长.原 ...
- linux 的常用命令---------第六阶段
磁盘管理 IDE 硬盘 (了解)硬盘接口 : SATA 硬盘 SCSI 硬盘 SAS 硬盘 分区付的认识:(笔试题) MBR :硬盘主引导记录,共512字节,由三部分组成 主引导程序 :占446个 ...
- JAVA框架Struts2 Action类
一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...
- python下载安装搭建
python官网下载python运行环境(https://www.python.org/downloads/),建议下载稳定版本,不推荐使用最新版本 安装 然后我们打开CMD,在里面输入python, ...