交叉编译GhostPDL为ARM9



我正在尝试交叉编译GhostPDL-9.06(这个和任何更高的版本)。我打算在MOXA arm9 linux计算机上使用pcl6。提供的工具链可以很好地编译。但是,二进制文件最终运行在构建机器上,而不是目标机器上。似乎我没有对arch.h文件做正确的事情。在页面底部有交叉编译说明http://ghostscript.com/FAQ.html。就我的经验水平而言,它们有点模糊。我已经搜索了很远很远,并在http://ghostscript.com/irclogs/2014/03/12.html的jroo页面顶部找到了更多的说明,但我仍然卡住了。

我的配置命令是:./configure CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc——host=arm-linux——target=arm-linux——without-x

libtiff配置错误,但是在make之后,我仍然得到一个pcl6二进制文件,它只在ubuntu i686机器上运行良好。

我被"手动生成arch.h"卡住了

是否有人有任何关于交叉编译的细节,提供更多的指令?

我现在有了一个交叉编译的pcl6二进制文件,并在MOXA ART ARM9 32位RISC CPU上运行。至少我需要的功能是有效的。

下面是创建密码保护pdf文件的命令行,每页62行:

./pcl6 -J'@PJL SET FORMLINES=62' 
-dNOPAUSE -sDEVICE=pdfwrite 
-sOwnerPassword=yourpassword 
-dEncryptionR=3 -dPermissions=-3884 
-sOutputFile=yourfile.pdf yourfile.pcl

我不完全确定为什么我得到了交叉编译的工作,但它确实,这里是我如何交叉编译ghostpdl-9.14:

和前面一样,我仍然传递配置参数:

主要问题是创建make文件,因为配置没有完成。libtiff配置将出错。我编辑了ghostpdl-9.14文件夹顶部目录下的shell脚本文件"configure"。在第5255行,我将"$SUBCONFIG_OPTS"替换为"

"
CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc --host=arm-linux --target=arm-linux --without-x

我这样做是因为出于某种原因,libtiff配置不会从主配置接收参数。

编辑完成后,libtiff配置将最终启动并运行到末尾。但是,仍然有一个关于BIGENDIAN测试的错误。所以我用消息

替换了5716到5719行
$as_echo "Ignore BIGENDIAN Test";
结果,配置完成并创建了必要的make文件。

在对"configure"文件进行两次编辑之后,运行configuration命令(从顶部ghostpdl-9.14目录):

./configure CC=arm-linux-gcc CCLD=arm-linux-gcc 
CCAUX=gcc --host=arm-linux --target=arm-linux --without-x

配置完成后,使用make命令传递交叉编译需求:

make CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc

也许这不是必要的,但因为它的工作,我张贴它。

我的第一个测试是查看构建计算机是否运行pcl6二进制文件。一旦出现"不能执行二进制文件"的消息,我就知道我取得了部分成功。在将其传输到ARM9并运行pcl6(没有任何选项)后,终端屏幕提供了帮助信息,告诉我二进制文件已成功编译。

经过几个小时的搜索和实验,也许这可以帮助有相同目标的人。

干杯!

相关内容

  • 没有找到相关文章

最新更新