arm-linux-gnueabi-ld 和 fpc ppcrossarm 仍然链接到 linux-i386

arm-linux-gnueabi-ld and fpc ppcrossarm still links to linux-i386

我能够为 arm 构建一个 freepascal 交叉编译器,但是现在当我想在 lazarus 中构建一个简单的图形应用程序或重建 LCL 时,编译工作直到被称为 arm-linux-gnueabi-ld ,它仍然在 /usr/lib/gcc/i586-linux-gnu/4.9/ 而不是 /usr/lib/gcc/arm-linux-gnueabi/4.9 中寻找所有图形库。那我该如何解决呢?

/usr/bin/arm-linux-gnueabi-ld: skipping incompatible /usr/lib/gcc/i586-linux-gnu/4.9/crtbegin.o when searching for /usr/lib/gcc/i586-linux-gnu/4.9/crtbegin.o

将相关的 -FD 或 -Fl 行放在您的 fpc.cfg 下 #ifdef i386

例如

#ifdef cpui386
 -Fl/lib
 -Fl/usr/lib
 -Fl/usr/lib/i586-linux-gnu/4.9
#endif

并为 ARM 添加适当的条目

参见 here for a list of architecture specific defines. The Buildfaq 有一些更详细的信息。