1

我正在尝试为 arm 架构交叉编译 nano-x。

我在配置文件中编辑了下一行:

ARCH = LINUX-ARM
ARMTOOLSPREFIX = arm-none-linux-gnueabi-

在我运行 make 之后,我有下一个错误:

编译引擎/image_jpeg.c ...
cc1:警告:包含位置“/usr/include/freetype2”对于交叉编译不安全
/home/user/oe/nanox/microwindows-0.92/src/engine/image_jpeg.c:49:致命错误:jpeglib.h:没有这样的文件或目录
编译终止。
make[1]: *** [/home/user/oe/nanox/microwindows-0.92/src/obj/engine/image_jpeg.o] 错误 1
make: *** [subdir-/home/user/oe/nanox/microwindows-0.92/src/mwin] 错误 2

此外,每次编译后,我都会收到警告:

cc1:警告:包含位置“/usr/include/some file”对于交叉编译不安全

我尝试为我的架构进行编译,一切顺利。演示正在运行。

还有下一个问题:

在函数“MwSelect”中:
/home/user/oe/nanox/microwindows-0.92/src/mwin/winmain.c:356:错误:“asm”中的不可能约束
/home/user/oe/nanox/microwindows-0.92/src/mwin/winmain.c:357:错误:“asm”中的不可能约束
/home/user/oe/nanox/microwindows-0.92/src/mwin/winmain.c:358:错误:“asm”中的不可能约束
make[1]: *** [/home/user/oe/nanox/microwindows-0.92/src/obj/mwin/winmain.o] 错误1
make: *** [subdir-/home/user/oe/nanox/microwindows-0.92/src/mwin] 错误 2
4

1 回答 1

1

我怀疑您正在针对构建系统的头文件而不是目标文件进行编译。这是由于版本不匹配而导致奇怪崩溃的秘诀。

编译时使用 --sysroot=<target-root> - 其中<target-root>是目标文件系统映像的根目录,包括头文件和库文件。

于 2013-04-09T09:55:03.990 回答