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 ...
随机推荐
- python设计模式之门面模式
一.结构型设计模式 门面模式与单例模式,工厂模式不同,它是一种结构型模式. 结构型模式描述如何将对象和类组合成更大的结构 结构型模式是一种能够简化设计工作的模式,它能找出更简单的方法来认识或表示实体之 ...
- MySQL主从延迟如何解决?
我们知道生产环境中经常会遇到MySQL主从延迟问题,从原理上也能看出主库的事务提交是并发模式,而从库只有一个SQL线程负责解析,所以本身上就可能存在延迟. 延迟的主要原因在于: 1.从库的配置往往没有 ...
- 使用ramdisk内存分区给常用软件加速
::参考内存盘软件https://download.csdn.net/download/zly6tz/9717137cls @echo off ::内存虚拟盘符-内存盘大小自己查看源目录大小 ::下面 ...
- C语言实现输出杨辉三角
1.倒推法实现输出杨辉三角右半部分,代码如下: #include<stdio.h> int main() { ]; printf("请输入行数n:"); scanf(& ...
- 《面向对象程序设计》c++第六次作业___calculator SE
c++第五次作业 Calculator SE 代码 PS:这次作业延迟了很久,人要是迷茫啊----唉------ 新增GUI界面,使用Qt creator编写,纯代码生成控件.写坐标. 感觉Qt cr ...
- cJSON 使用详解
由于c语言中,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json.如果有对应的数据结构就方便一些, 如python中用json.loads(json)就把json字符串转变为内建 ...
- Oracle 12C Data Gurad RAC TO RAC
Oracle 12C RAC TO RAC Data Guard on RHEL7 0.环境说明 primary db physical standby 操作系统 rhel7 x86_64 rhe ...
- 【2018暑假集训模拟一】Day1题解
T1准确率 [题目描述] 你是一个骁勇善战.日刷百题的OIer. 今天你已经在你OJ 上提交了y 次,其中x次是正确的,这时,你的准确率是x/y.然而,你最喜欢一个在[0; 1] 中的有理数p/q(是 ...
- 将如下三组不同类型的数据利用DataInputStream和DataOutputStream写入文件,然后从文件中读出
三组数据如下: {19.99 , 9.99 , 15.99 , 3.99 , 4.99} {12 , 8 , 13 ,29 ,50} {"Java T-shirt" , " ...
- 第三次作业:结对编程--实现表格在APP的导入和显示
031302517 031302319 ps:共同完成一篇随笔,文章中的第一人称我(517),队友(319) 一.功能分析+实现思路+结队讨论 这里我将功能分析和实现思路还有结对过程中的一些讨论结合在 ...