[心得] Cross Compiler for Windows on Linux
這一篇的目的是描述安裝 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
12/23 09:41, 1F
推
12/23 12:41, , 2F
12/23 12:41, 2F
→
12/23 13:21, , 3F
12/23 13:21, 3F
推
12/23 13:49, , 4F
12/23 13:49, 4F
→
12/23 14:03, , 5F
12/23 14:03, 5F
推
01/08 19:28, , 6F
01/08 19:28, 6F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章
24
70