[心得] Cross Compiler for Windows on Linux

看板LinuxDev作者 (!H45)時間17年前 (2007/12/23 03:03), 編輯推噓4(402)
留言6則, 5人參與, 最新討論串1/2 (看更多)
這一篇的目的是描述安裝 Cross Compiler for Windows on Linux 的步驟 嗯....終於把他搞定了 回想起來其實方法非常簡單,但是過程非常痛苦 網路上的資料少之又少,別人成功的到我手上就是失敗 到最後成功做出來,下一秒卻又忘記是怎麼成功的...... 為了讓網友別陷入和我相同的失敗迴圈,我決定把這簡單的方法分享出來。 (本來想打前言的....但是算了,應該沒多少人願意聽我說故事 -.-) (直接進入重點) 我的環境: GNU/Linux 2.6.22-14 i686 gcc 3.4.6 (Ubuntu 3.4.6-6ubuntu2) 好啦,開始! 1. 下載 Cross-Hosted MinGW Build Tool 到 SourceForge.net 搜尋 MinGW - Minimalist GNU for Windows 然後找到 x86-mingw32-build.sh-0.0-20061107-1.tar.bz2 抓下來 2. 解壓縮 x86-mingw32-build.sh-0.0-20061107-1.tar.bz2 > tar -jxf x86-mingw32-build.sh-0.0-20061107-1.tar.bz2 3. 執行! 等等,這個 Script 已經過期了,直接執行是會失敗的 XD 來看看重點設定檔案:x86-mingw32-build.sh.conf 4. 修改 x86-mingw32-build.sh.conf 到正確為止 > vim x86-mingw32-build.sh.conf 找到下面的文字: assume GCC_VERSION 3.4.5-20060117-1 assume BINUTILS_VERSION 2.17.50-20060716-1 assume RUNTIME_VERSION 3.10-20060909-1 assume W32API_VERSION 3.7 改成目前最新版: assume GCC_VERSION 3.4.5-20060117-1 assume BINUTILS_VERSION 2.17.50-20060824-1 assume RUNTIME_VERSION 3.13 assume W32API_VERSION 3.10 因為 BINUTILS-2.17.50-20060716-1 已經無法取得了,所以不修改是不行的 儲存並離開 :wq 5. 真‧執行! > chmod +x x86-mingw32-build.sh > ./x86-mingw32-build.sh 6. 好啦,去泡杯茶等 Compile Error 吧.... 可能錯誤 1. regex error 那個,這可能代表你的路徑設到了安裝路徑 換一個安裝路徑也許能解決這個問題。 修改 x86-mingw32-build.sh.conf 的 INSTALL_DIR 可能錯誤 2. array error 那個,這可能代表你的 gcc 是 4 版以上的 換一個 gcc 也許能解決這個問題。 修改 /usr/bin/gcc 的連結到 gcc-3.4 可能錯誤 3. missing "makeinfo" 這個,安裝 texinfo 套件就好了 sudo apt-get install texinfo 可能錯誤 4. 其他 這個,抱歉我沒遇到過,沒辦法幫上忙唷...... 7. 解決以上問題,再執行一次 > ./x86-mingw32-build.sh 8. 好啦,出門吃個點心吧!這要編譯數十分鐘。 9. 恭喜!你已經把 Cross Compiler for Windows on Linux 做出來了 10. 測試 Hello World! 程式 > vim minimal.c 編輯成以下內容: #include <stdio.h> int main(int argc, char *argv[]) { puts("Hello World!"); } 儲存並離開 :wq > $INSTALL_DIR/bin/i386-mingw32-gcc minimal.c > ls a.exe 看到了沒,a.exe!!!!!! 把他拿到 Windows 下面跑跑看吧! (註:$INSTALL_DIR 預設是 $HOME/mingw) 後記:有人成功在 Linux 下把 Firefox for Windows 編譯出來的嗎? 我怎麼編譯都失敗...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.127.91 ※ 編輯: H45 來自: 60.248.127.91 (12/23 03:04)

12/23 09:41, , 1F
何苦呢? XD
12/23 09:41, 1F

12/23 12:41, , 2F
雖然我也想這樣作,不過我沒你厲害有GUTS
12/23 12:41, 2F

12/23 13:21, , 3F
正好需要 Cross Compiler 才這樣做的,不然我也不想 =.=
12/23 13:21, 3F

12/23 13:49, , 4F
ubuntu 套件庫有 mingw32 耶,不能用嗎@@?
12/23 13:49, 4F

12/23 14:03, , 5F
不知道
12/23 14:03, 5F

01/08 19:28, , 6F
ubuntu可以用apt裝mingw32,指令則是i586-開頭的
01/08 19:28, 6F
文章代碼(AID): #17RL-0Mr (LinuxDev)
文章代碼(AID): #17RL-0Mr (LinuxDev)