ubuntu系統上使用Mingw編譯Qemu最新版

2021-06-27 13:38:05 字數 1151 閱讀 4572

當使用某種作業系統(windows、linux或mac os x)時,我們不僅可以編譯可在該系統執行的程式,也可以編譯執行去其他平台的程式(如在linux系統上編譯執行於windows、ios、android等系統的程式),後者就是所謂的交叉編譯(cross-compile)技術。

一般來說,編譯乙個程式首先需要提供如下三類資源

1). 編譯器

2). 目標程式依賴的庫或標頭檔案

3). 目標程式原始碼

目前最廣泛使用的編譯器就算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

./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]

[2]

[3]

ubuntu下安裝Ming的教程

ming 是乙個操縱swf flash movice 的c庫,支援php ruby python等語言。在安裝ming 之前,應該準備好你的系統,特別是linux unix系統,如果你對系統配置不是很熟悉,最好的辦法是在安裝系統的時候要將絕大部分的開發模組安裝好。ming 的安裝分為兩步,首先安裝m...

ubuntu系統上配置git

1,首先第一步檢查一下本機是否已經安裝了git 隨便到乙個git目錄下執行git status或者其他git命令,如果本機沒有安裝,則會提示你去安裝,ubuntu還是很好的,直接命令都給你提示出來了 sudo apt get install git 2,安裝成功後目前git status命令可以使用...

ubuntu上使用碼雲

sudo apt get update sudo apt get install git 2 配置公鑰 2.1 生成公鑰 sudo ssh keygen t rsa c qq.com 雙引號內我填的是我的帳號 之後有3次回車,其中有2次是輸入密碼的,此密碼可為空,但我還是填了 2.2 檢視公鑰 su...