如何为ARM arch交叉编译Microwindows

如何为ARM arch交叉编译Microwindows,arm,cross-compiling,embedded-linux,Arm,Cross Compiling,Embedded Linux,对Microwindows的交叉编译有一些问题。 以下是我的步骤: 0下载交叉编译工具链 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 a

对Microwindows的交叉编译有一些问题。 以下是我的步骤: 0下载交叉编译工具链

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 跑牌 之后,我有下一条消息:

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
怎么回事?如何修复它?

首先,您需要所有依赖项库的源代码,并交叉编译libjpeg-dev-libpng-dev-python-dev-libfreetype6-dev和其他依赖项库


然后,在编译microwindow时,必须在交叉编译库所在的Makefile中更新include和library的路径。

您正在为include目录指定主机的环境,即本地环境,而不是目标环境。你以前有没有用你的工具链交叉编译过其他东西,例如hello_world.c?考虑使用开发环境,比如OpenCube。是的,Hello World和我的工具链中的一些其他源编译成功。谢谢 sudo apt-get install libjpeg-dev libpng-dev python-dev libfreetype6-dev 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
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