2013-04-09 110 views
1

Microwindows的交叉編譯有一些問題。 這裏是我的步驟: 0下載交叉編譯工具鏈如何交叉編譯Microwindows for ARM arch

 

    wget http://www.codesourcery.com/sgpp/lite/arm/portal/package5383/public/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 
    sudo mkdir –p /opt/toolchain 
    sudo cp arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /opt/toolchain 
    cd /opt/toolchain 
    sudo tar –jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 
    export PATH=/opt/toolchain/arm-2009q3/bin:$PATH 

  1. 下載最新版本的Microwindows的(V 0.92)
 

    cd ~ 
    wget ftp://microwindows.censoft.com/pub/microwindows/microwindows-full-0.92.tar.gz 
     tar xvf microwindows-full-0.92.tar.gz 

  1. 前置:安裝下一個包:
 

    sudo apt-get install libjpeg-dev libpng-dev python-dev libfreetype6-dev 

對於ARM架構
  1. 編輯配置文件
 

    cd microwindows-0.92/src 
    nano config 

和編輯下一行:

ARCH      = LINUX-ARM 
ARMTOOLSPREFIX   = arm-none-linux-gnueabi- 
INCJPEG     = /usr/include/ 
INCPNG     = /usr/include/ 
INCZ      = /usr/include/ 
INCTIFF     = /usr/include/ 
LIBFT2LIB    = /usr/lib/libfreetype.a 
  1. 運行make

再之後,我旁邊的消息:

 

    cc1: warning: include location "/usr/include/" is unsafe for cross-compilation 
    cc1: warning: include location "/usr/include/freetype2" is unsafe for cross-compilation 
    In file included from /home/user/microwindows-0.92/src/include/windows.h:19, 
        from /home/user/microwindows-0.92/src/mwin/winmain.c:44: 
    /home/user/microwindows-0.92/src/include/windef.h:131: warning: function declaration isn't a prototype 
    /home/user/microwindows-0.92/src/include/windef.h:132: warning: function declaration isn't a prototype 
    /home/user/microwindows-0.92/src/include/windef.h:133: warning: function declaration isn't a prototype 
    /home/user/microwindows-0.92/src/mwin/winmain.c: In function 'MwSelect': 
    /home/user/microwindows-0.92/src/mwin/winmain.c:356: error: impossible constraint in 'asm' 
    /home/user/microwindows-0.92/src/mwin/winmain.c:357: error: impossible constraint in 'asm' 
    /home/user/microwindows-0.92/src/mwin/winmain.c:358: error: impossible constraint in 'asm' 
    make[1]: *** [/home/user/microwindows-0.92/src/obj/mwin/winmain.o] Error 1 
    make: *** [subdir-/home/user/microwindows-0.92/src/mwin] Error 2 

什麼wrang?我該如何解決它?

+1

你指定你的主機(即本地沒有目標的)環境,包括目錄。你以前是否使用過工具鏈交叉編譯過任何其他內容(例如hello_world.c)?考慮使用像[Buildroot](http://buildroot.uclibc.org/)或Openembedded這樣的開發環境。 – sawdust 2013-04-09 23:47:18

+0

是的,你好,我的工具鏈中的世界和其他一些資源是成功編譯的。謝謝。 – 2013-04-10 08:07:26

回答

0

首先你需要的所有依賴庫的源代碼和交叉編譯libjpeg-devlibpng-devpython-devlibfreetype6-dev和其他依賴庫。

然後在編譯microwindow時,includelibrary的路徑必須在Makefile的地方更新,其中存在交叉編譯的庫。