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. linux cache swap 以及 虚拟内存等

    提出四个问题及解答: 1)若进程在运行过程中,物理内存不足会发生什么? 2)为何进程在占用物理内存不变的情况下,系统的物理内存会增加? 3)为何程序的大小大于实际占用的物理内存?(假如程序30M,却只 ...

  2. UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图

    /*      设置圆角,通过layer中的cornerRadius和masksToBounds即可.            自适应图片宽高比例.通过UIViewContentModeScaleAsp ...

  3. 在win2008 r2主域控制域上打开“组策略管理”报错“未打开组策略对对象。你可能没有合适的权限”

    在win2008 r2主域控制域上打开“组策略管理”报错“未打开组策略对对象.你可能没有合适的权限” 打开组策略管理其它选项提示:找不到指定路径.之前做过的操作:取消域控主机上的共享目录sysvol和 ...

  4. Jquery on() 动态绑定事件

    之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态 ...

  5. htm跨域锚点定位

    a.html <div class="title" id="aaaa">保险服务</div> b.html <div class= ...

  6. jsp文件上传

    整理了一下jsp的上传下载,由客户端到服务端,包括一些常规的业务 一客户端 先看最基本的情况 1 在表单设置multipart/form-data,通过提交键把数据和附件一次性提交的.服务器更多的是对 ...

  7. C#多线程之Parallel中 类似于for的continue,break的方法

    好久没写东西了,终于找到点知识记录下... 利用ParallelLoopState对象来控制Parallel.For函数的执行,ParallelLoopState对象是由运行时在后台创建的: Para ...

  8. Struts2体系结构图以及详解

    Strut2的体系结构如图所示: 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求: 2.这个请求经过一系列的过滤器(F ...

  9. No1_4.数组的基本操作_Java学习笔记

    import java.util.Arrays; public class HelloArrayOp { public static void main(String[] args) { // TOD ...

  10. mysql数据库的连接

    public TJb checkjbByschool(long id)throws ClassNotFoundException,SQLException { Class.forName(" ...