MasteringVFP/19/1
出自VFP Wiki
小 (→安裝,from tarball) |
|||
第20行: | 第20行: | ||
====[[安裝,from tarball]]==== | ====[[安裝,from tarball]]==== | ||
+ | 請先到 wine 官方網站(http://www.winehq.org)下載 tarball 檔案. | ||
+ | 以 tar xzf 解開之後,我們還要進行 patch, patch 檔網址在此: | ||
+ | http://www.paulmcnett.com/vfp/wine/vfpwinepatchwinsize | ||
+ | 這個 patch 檔主要是修正 WAIT WINDOW 和 !TooltipText window 無法正確顯示的問題. | ||
+ | Patch 方法: | ||
+ | cat vfpwinepatchwinsize | patch -p1 | ||
+ | 也可以手動編輯 wine/dlls/x11drv/winpos.c | ||
+ | 在約 887 行的地方,找到 | ||
+ | <pre> | ||
+ | BOOL | ||
+ | X11DRV_SetWindowPos( WINDOWPOS *winpos ) | ||
+ | </pre> | ||
+ | 這個 function,並在裡面的 | ||
+ | <pre> | ||
+ | TRACE | ||
+ | "hwnd %p ...... | ||
+ | </pre> | ||
+ | 之前加上 | ||
+ | <pre> | ||
+ | /* This is needed to flush pending X !ConfigureNotify events on this window */ | ||
+ | MsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 ); | ||
+ | </pre> | ||
+ | 存檔以後即可. | ||
+ | 然後再執行 ./tools/wineinstall | ||
+ | 它會出現訊息,建議不要以 root 身分來安裝. | ||
+ | 如果你堅持要以 root 身分來安裝, 請先離開此 script, 修改此 script,讓他忽略此訊息.(178~184 行,前面加上'#' ) ,再執行此 script. | ||
+ | 如果要用別的身分來安裝,請用 su 指令切換到其他 user 帳號,或重新以其他 user 帳號登入,再執行 ./tools/wineinstall 即可. | ||
+ | |||
+ | 此 script會執行 ./configure,設置必要的設定檔以及路徑. | ||
+ | 然後再執行 | ||
+ | make depend && make && make install | ||
+ | 進行編譯及安裝工作. | ||
+ | |||
+ | 若以其他user進行安裝的話,就依照 script指示即可 | ||
+ | wine 最後會以 SUID 形式存在. | ||
+ | |||
====[[RPM 安裝]]==== | ====[[RPM 安裝]]==== | ||
====[[Usage]]==== | ====[[Usage]]==== |
在2005年1月31日 (一) 13:49所做的修訂版本
目錄 |
WINE
談如何在 Linux 上使用VFP, 主要就是應用 WINE 這個 Open Source 來讓 Windows 的可執行檔能在 Linux 下執行.大致的介紹順序如下:
前言
由於 Linux 的風行,有人就想,為什麼不把 VFP 放到 Linux 上呢? 於是就有人積極的尋找 Solution.
首先發現的就是 wine, 這個可以執行 Windows 執行檔的自由源碼專案. wine 是 wine is not emulator, 很清楚的指出,他並不是一個模擬器. 它可以執行 Windows 的 PE 執行檔,並將實際的 Windows API 轉為 Linux 的相對指令.
很幸運的,VFP 可以大致順利的在 Linux 上執行. 於是,展開了與 wine 共舞的樂章.
在此特別聲明,以下資料多半來自於網路上,我會盡力註明出處.
Wine 的歷史
請直接參考 2003/08/15 的 Wine Traffic, 網址是: http://kt.zork.net/wine/wn20030815_183.html#5
安裝,from tarball
請先到 wine 官方網站(http://www.winehq.org)下載 tarball 檔案. 以 tar xzf 解開之後,我們還要進行 patch, patch 檔網址在此: http://www.paulmcnett.com/vfp/wine/vfpwinepatchwinsize 這個 patch 檔主要是修正 WAIT WINDOW 和 !TooltipText window 無法正確顯示的問題. Patch 方法: cat vfpwinepatchwinsize | patch -p1 也可以手動編輯 wine/dlls/x11drv/winpos.c 在約 887 行的地方,找到
BOOL X11DRV_SetWindowPos( WINDOWPOS *winpos )
這個 function,並在裡面的
TRACE "hwnd %p ......
之前加上
/* This is needed to flush pending X !ConfigureNotify events on this window */ MsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 );
存檔以後即可. 然後再執行 ./tools/wineinstall 它會出現訊息,建議不要以 root 身分來安裝. 如果你堅持要以 root 身分來安裝, 請先離開此 script, 修改此 script,讓他忽略此訊息.(178~184 行,前面加上'#' ) ,再執行此 script. 如果要用別的身分來安裝,請用 su 指令切換到其他 user 帳號,或重新以其他 user 帳號登入,再執行 ./tools/wineinstall 即可.
此 script會執行 ./configure,設置必要的設定檔以及路徑. 然後再執行 make depend && make && make install 進行編譯及安裝工作.
若以其他user進行安裝的話,就依照 script指示即可 wine 最後會以 SUID 形式存在.
RPM 安裝
Usage
Configuration
開始使用 VFP
Issue
EULA - Microsoft 的阻撓
參考網址
螢幕快照
或可直接連接至此 http://home.kimo.com.tw/h94u04bp6/archives/000103.html