因為 DrawTiming 的關係, 我安裝了第一次使用的 Cygwin 來編譯執行檔, ....
後來, 編譯環境換成 MSYS + MinGW 之後, 就可以擺脫 cygwin1.dll, 而直接在 Windows 底下執行 DrawTiming 了。
MSYS + MinGW 真的是苗條許多, 下載 20MB, 安裝後 70MB, 相形之下, Cygwin 就顯得龐大 (下載 50~80MB, 安裝後 250~300MB),
.
configure --> build --> install 三部曲
MinGW 與 Cygwin 的不同處 (E-Office學園, 2006-02-05)
MinGW ... 將 gnu 這個 open source, free 的開發工具移植到微軟視窗平台,他直接產生出來的PC視窗平台機器碼,
UNIX 世界Open source 的玩法,大約都是 ... 取得 Source code,然後 configure --> build --> install 三部曲
configure 會先蒐集你平台上各個工具元件實際安裝路徑,根據它們來調整軟體 Project檔(通常它是一個Makefile),之後才執行 make 去 Build 出軟體,透過 Install 腳本,最後再把作好的軟體 install (安裝)到適當的資料夾來使用。這 MSYS 就可以讓 MinGW 這編譯工具也具備第一步的 configure 功能。
簡單的說 :
下載原始碼 | 例如 : DrawTiming |
解開原始碼 | tar -xzf drawtiming-0.x.tar.gz |
執行 configure 自動調整編譯環境 | cd drawtiming-0.x |
依照需求 make | make (編譯執行檔) make install (編譯並自動安裝到) make check (編譯並測試執行結果) |
而 MSYS + MinGW 就是讓我們能在 Windows 底下重新編譯 GNU 程式的 Minimum System
.
安裝 MinGW
GCC在windows的開發環境叫MinGW
MinGW代表Minimalist GNU for Windows
官方網站在 http://www.mingw.org/
sourceforge的專案網站 http://sourceforge.net/projects/mingw/...
安裝過程中會詢問你還需要安裝哪些套件
通常會再選make跟g++...
其餘詳見 installation of GCC on windows (koukai的Blog, 2007-05-17)
koukai 有提到要設環境變數, 不過我覺得 要搭配 MSYS 使用, 其實可以不必設定環境變數
可以先下載 MinGW-5.1.x.exe 再透過它來下載其餘的檔案, 我選了make跟g++之後, 總共下載了下面這些檔案:
mingwrt-3.15.1-mingw32.tar.gz
w32api-3.12-mingw32-dev.tar.gz
binutils-2.17.50-20060824-1.tar.gz
gcc-core-3.4.5-20060117-3.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
mingw32-make-3.81-20080326-2.tar.gz
mingwrt-3.15.1-mingw32.tar.gz
安裝過程 在 koukai 的 installation of GCC on windows 有清楚的說明
.
安裝 MSYS
MSYS是一套類似cygwin在windows建構出unix-like的shell
並擁有一些常見的GNU utilities可以使用,也可以利用mingw的一些程式
... 首先安裝好mingw,可參閱http://koukaipan.pixnet.net/blog/post/4716500
... 再來安裝MSYS
... 問你要不要進行post install,鍵入y,
問你有沒有安裝mingw,當然有,鍵入y,
位置填入你mingw安裝位置,記住,這邊路徑目錄的斜線是正斜線
...
其餘詳見 MSYS環境建置 (koukai的Blog, 2008-10-10)
安裝完成之後, 點選桌面的 MSYS 圖示, 進入類似 Linux 的命令列, 操作 tar, configure, make ... 等指令, 就大功告成了。
不過, 這邊有個小問題, 是無法確定磁碟機如何對應, 像 cygwin 底下的 e: 會對應成 /cygdrive/e/, c: 會對應成 /cygdrive/c/ (參見 安裝Cygwin, Forster Wu, 2001-03-09), 但不清楚 MSYS 的作法 ...
所以, 我把下載的檔案用 7-Zip 或 IZArc 直接解壓縮到 x:\msys\1.0\home 底下, 也就是 MSYS 的 /home 底下
.
打造輕巧版的 DrawTiming
原本 DrawTiming 提供的是 120KB 的原始程式碼, 在 Linux 或 Cygwin 底下編譯成執行檔, 再配合 Magick++ API 來產生圖型檔 。
除了第一個純 Linux 的環境我沒試過之外, 越往下的編譯執行環境就是越輕巧的版本
- 配合 Linux 底下安裝的 Magick++ API, ghostscript 字型,
自行編譯 Linux 命令列的 DrawTiming 執行檔 - 配合 Cygwin 底下安裝的 Magick++ API, ghostscript 字型,
自行編譯 Cygwin 命令列的 DrawTiming 執行檔 (整套 cygwin 約 300MB) - 在 Windows 命令列執行 DrawTiming
----『免安裝 Cygwin』, 但需要 Cygwin 的一堆 DLLs, ghostscript 字型 ... 等 (共10MB) - 改造程式碼 (詳見 Google Code), 使其獨立於 Magick++ API, ghostscript ...
---- 使用 Cygwin 編譯, 執行時需要執行檔本身再加上 cygwin1.dll (共 2MB) - 真正的輕巧版, 改用 MSYS + MinGW 編譯, 連 cygwin1.dll 都不用了, 產生的執行檔拿到沒有裝 MSYS + MinGW 的別台 Windows 電腦還是一樣可以執行 (只要 1MB, 下載點)
.
0 意見:
發表您的回應張貼留言