接前篇
若不要FLNX,那可以選擇NXlib來銜接microwindows與FLTK。NXLib是microwindows作者Greg開發,可模擬X11的API界面,讓原本只能與X11共用的視窗套件也能搭配microwindows。目前最新的版本是0.45,解開後需要做以下設定︰
MWIN=/root/keypad/toolchain/arm/microwindow-0.91/src
X11=/usr/include
MWIN_INCLUDE=$(MWIN)/include
MWIN_LIB=$(MWIN)/lib
X11_LIB=$(X11)/lib
X11_INCLUDE=$(X11)
#INSTALL_DIR = $(X11_LIB)
NX_LIB=/usr/local/arm/3.4/lib
INSTALL_DIR = $(NX_LIB)
基本上把microwindows跟X11的include路徑設對,編譯的過程就不會有什麼問題。要留意的是library安裝目錄一定要錯開系統原本擺置libX11的地方,要避免的話可以修改nxlib生出來的library名稱,或者直接變換安裝路徑。由於是編譯在不同平台上,所以直接安裝到arm的目錄就好了(不要make install也無所謂啦),保留原來的檔名比較方便往後的使用。
根據microwindows網站上Greg的留言,他至少有拿NXLib測試FLTK 1.1.3是可以用的,根據我測試過幾個新的版本,就算是拿最新的1.1.7其實也沒問題。我用的configure option如下︰
./configure \
--host=arm-linux \
--prefix=/usr/local/arm/3.4 \
--with-x \
--x-includes=/usr/X11 \
--x-libraries=/usr/local/arm/3.4/lib
如果你用1.1.3以後的版本,在編譯測試程式的時候可能會出錯,像我遇到的就是編譯範例的過程需要呼叫fluid(FLTK)處理.fl檔,不過你編出來的fluid當然是沒辦法在x86平台執行,所以在這裡會停下來,但這不影響之前就做好的FLTK library﹔理論上可以修改Makefile改用x86版的fluid去做這些事,不過我懶,而且那些範例對我沒什麼作用,所以就讓那個錯誤一直掛在那裡了。
你可以從test目錄裡拿個簡單的程式來試試看,執行之前要先把之前做好的library跟server準備好︰
/bin/nano-X
/lib/libnano-X.so
/lib/libX11.so.6.2
ln -s libX11.so.6.2 libX11.so.6
先把nano-X丟在背景執行,螢幕會先被初使化,再執行FLTK的程式應該就可以看到畫面了。
Categories: 數位石器時代
尚無留言 »