标签:android http io ar os 使用 sp on 文件
当使用某种操作系统(windows、linux或Mac os X)时,我们不仅可以编译可在该系统运行的程序,也可以编译运行去其他平台的程序(如在linux系统上编译运行于windows、iOS、Android等系统的程序),后者就是所谓的交叉编译(cross-compile)技术。
一般来说,编译一个程序首先需要提供如下三类资源目前最广泛使用的编译器就算gcc了,gcc是一个支持多种目标系统的跨平台编译器家族,包含一组编译器。可编译windows程序的gcc被称为MingW。
ubuntu官方仓库虽然提供了mingw32等软件包但是却没有提供重要的软件包如mingw32-zlib,根据参考文献[2],编译qemu还需要诸如mingw版的zlib、glib2等,而ubuntu官方仓库里没有提供相应软件包,不过幸运的是在ppa上找到了第三方提供的mingw相关软件包,见参考文献[3]。命令如下。
sudo add-apt-repository ppa:brcha/mingw
sudo apt-get update
sudo apt-get install dh-mingw-w64 gcc-mingw-w64 g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 mingw32-pkg-config
sudo apt-get install mingw32-zlib mingw32-glib2
git clone git@github.com:qemu/qemu.git (如果没有注册github,则可以使用git clone https://github.com/qemu/qemu.git 命令下载代码)
cd qemu
git submodule update --init pixman
git submodule update --init dtc
./configure --cross-prefix=i686-w64-mingw32-
make -j10
不出意外的话,很快就能编译完成。可执行find . -name "*.exe"查找所有编译出来的qemu可执行程序。将编译出来的qemu-system-arm.exe拷贝到windows系统上运行会弹出对话框提示缺少某dll文件,可以从find /usr/ -name "*.dll" 查找dll文件,将依赖的所有dll文件复制到qemu-system-arm.exe相同目录下后,qemu就可以运行了。
[1] http://wiki.qemu.org/Hosts/W32
[2] http://lists.gnu.org/archive/html/qemu-discuss/2014-10/msg00031.html
[3] https://launchpad.net/~brcha/+archive/ubuntu/mingw
标签:android http io ar os 使用 sp on 文件
原文地址:http://blog.csdn.net/prife/article/details/41852793