Ubuntu server 14.04 交叉编译Unicorn-engine

编译的过程基本上按照的是unicorn/COMPILE-WINDOWS.md描述的进行编译的,不过还是改了一些地方。在Ubuntu 14.04 server上交叉编译Unicorn给windows使用。

第一步就是按照Mingw64了,Mingw64既支持编译windows 32位的程序,也支持编译windows 64位的程序。Sudo apt-get install mingw-w64

按照官方文档的描述,下面直接安装Mingw-glib2,

sudo dpkg –i –force-depends mingw64-x86-glib2_2.31.0_all.deb

然后就尝试./make.sh cross-win32进行编译。发现并不能成功,提示缺少其他依赖。缺少什么就安装什么,像pkg-config,libtool,zlib等,前两个好安装,直接apt-get install就能安装,但是第三个有问题了,利用sudo apt-get install zlib1g-dev 安装了zlib后,在本地尝试编译了:

#include <zlib.h>

int main(void) { zlibVersion(); return 0; }

并且可以成功运行,但是编译unicorn的时候,还是提示找不到zlib.h,这个时候意识到我现在是交叉编译,需要windows版本的zlib,所以就下载源码,对zlib进行交叉编译。在StackOverflow上找到了一个解决方案,成功交叉编译zlib。

http://stackoverflow.com/questions/21322707/zlib-header-not-found-when-cross-compiling-with-mingw

继续编译Unicorn,发现还是报错,"/usr/bin/i686-w64-mingw32-ld: cannot find -lglib-2.0",自己不是已经安装了mingw64-x86-glib2_2.31.0_all.deb,为啥还提示找不到libglib-2.0?我直接find / -name libglib*,发现系统上是有libglib-2.0的库的,

我直接把这两个路径加到了make.sh的库搜索路径里,如下:

继续编译Unicorn,成功编译!!!!

参考:

http://stackoverflow.com/questions/21322707/zlib-header-not-found-when-cross-compiling-with-mingw

http://www.devinprogress.org/2014/02/how-to-cross-compile-libcurl-on-linux/

https://wiki.openttd.org/Cross-compiling_for_Windows#Compiling_zlib

http://linux.m2osw.com/cross_compiling_zlib

http://blog.csdn.net/npy_lp/article/details/6991704

Ubuntu server 14.04 交叉编译Unicorn-engine的更多相关文章

  1. Ubuntu Server 14.04 集成

    方便工作出差显示项目整合了下平时常用软件: OS: Ubuntu Server 14.04 VM:VMware Workstation 12.1.0 (不同版本好像会不兼容) 已经安装软件: 1. s ...

  2. Ubuntu Server 14.04升级Ubuntu Server 16.04

    Ubuntu Server 14.04升级Ubuntu Server 16.04 :转 http://blog.csdn.net/chszs 1.终端下执行命令 $ sudo apt-get upda ...

  3. U盘安装ubuntu server 14.04

    U盘安装ubuntu server 14.04 U盘安装ubuntu server 14.04 1.制作启动u盘 2.开始安装 1 将u盘插入主机,重启后从u盘启动 2 选择语言(随便挑,随便选),我 ...

  4. u盘安装ubuntu server 14.04 以及No CD-ROM drive was detected 错误

    u盘安装ubuntu server 14.04 1:下载ubuntu server14的 iso镜像文件 2:下载 UltraISO U盘镜像制作工具 : 3:使用Ultra iOS 将下载好的 is ...

  5. Ubuntu Server 14.04 下root无法ssh登陆

    今天安装了Ubuntu Server 14.04   在终端配置了root密码后,使用SecureCRT和putty竟然不能ssh登陆,SecureCRT一直提示密码不对,但是可以肯定输入的密码100 ...

  6. Ubuntu Server 14.04在VMware安装的一些事儿

    这几天一直在折腾Ubuntu Server 14.04,故记录下: 安装前的准备: 1.建议安装英文版,像15.04.16.04等安装中文版时存在bug,而且中文版字体显示也有问题. 2.Ubuntu ...

  7. Ubuntu Server 14.04 LTS(64bit)已安装 weblogic Server 12c(12.1.3) Zip Distribution

    这里说的对Ubuntu Server 14.04 LTS(64bit)已安装weblogic Server 12c(12.1.3) Zip Distribution遇到的问题.至于Windows什么好 ...

  8. Ubuntu Server 14.04 & Apache2.4 虚拟主机、模块重写、隐藏入口文件配置

    环境: Ubuntu Server 14.04 , Apache2.4 一.Apache2.4 虚拟主机配置 01. 新建一份配置文件 在apache2.4中,虚拟主机的目录是通过/etc/apach ...

  9. ubuntu server 14.04 上安装jdk1.8

    ubuntu server 14.04 上安装jdk1.8 1.使用apt-get安装oracle-jdk安装oracle jdk sudo apt-get install python-softwa ...

随机推荐

  1. ios获取权限

    ios获取权限 by 伍雪颖 -(void)requestRecord{ [[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL ...

  2. Android日志系统驱动程序Logger源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6595744 我们知道,在Android系统中, ...

  3. 函数内部用setTimeout()调用自身函数相当于setInterval()

    本来setTimeout(function(){},time)只执行了一次function,但是当 function demo() { alert(1); setTimeout('demo()' ,5 ...

  4. Global.asax使用1

    Application_start: 1.第一个访问网站的用户会触发该方法.(针对访问的是asp.net应用程序的类,及ashx,aspx等才会触发) 2. 通常会在该方法里定义一些系统变量,如聊天室 ...

  5. MJExtension(JSON到数据模型的自动转换)

    整理自:http://www.jianshu.com/p/93c242452b9b. 1.MJExtension的功能 字典-->模型 模型-->字典 字典数组-->模型数组 模型数 ...

  6. 自定义UIView动画效果

    最普通动画: //开始动画 [UIView beginAnimations:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:]; / ...

  7. uva 12100 Printer Queue

    The only printer in the computer science students' union is experiencing an extremely heavy workload ...

  8. (原创)ubuntu 12.04 安装 apache ant

    1. go to the websie to download the newest version of ant (search google by "Apache Ant"). ...

  9. VS代码清理批处理

    批处理清理VS工程 del /f /q /s *.ncb del /f /q /s *.sdf del /f /q /s /A H *.suo del /f /q /s *.ipch del /f / ...

  10. php get_ini 和 get_cfg_var 的区别

    get_ini 和 get_cfg_var 都是用来获取 php 配置信息的函数. 区别是 get_ini 是用来获取当前运行的配置信息,get_cfg_var 是用来获取配置文件(php.ini)的 ...