我试图交叉编译GhostPDL-9.06 (此版本和任何更高版本)。我打算在MOXA arm9 linux计算机上使用arm9。提供的工具链编译得很好。但是,二进制文件最终在生成机器上运行,而不是在目标上运行。看来我对arch.h文件做得不对。在页面http://ghostscript.com/FAQ.html的底部有交叉编译指令。他们对我的经验有点模糊。我搜索了很远的地方,在http://ghostscript.com/irclogs/2014/03/12.html的jroo页面顶部找到了更多的说明,但是我还是被卡住了。
我的配置命令是:/配置CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc --主机=arm-linux-target=arm-linux-is x。
libtiff配置错误,但在生成之后,我仍然得到一个pcl6二进制文件,它只在ubuntu i686机器上运行良好。
我被困在了“手动生成arch.h”上
是否有人对交叉编译提供了更多的说明?
发布于 2014-05-10 14:46:05
我现在有一个pcl6二进制文件,它是交叉编译的,并且运行在一个MOXA ARM9 32位RISC上。至少我需要的功能正在发挥作用。
下面是创建密码保护pdf文件的命令行,每页62行:
./pcl6 -J'@PJL SET FORMLINES=62' \
-dNOPAUSE -sDEVICE=pdfwrite \
-sOwnerPassword=yourpassword \
-dEncryptionR=3 -dPermissions=-3884 \
-sOutputFile=yourfile.pdf yourfile.pcl我不太清楚我为什么要让交叉编译工作,但它确实起了作用,下面是我如何交叉编译gestpdl-9.14:
和以前一样,我仍然传递配置参数:
主要问题是创建make文件,因为配置无法完成。libtiff配置将出错。我在gestpdl-9.14文件夹的顶部目录中编辑了shell脚本文件“配置”。在第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文件。
对“配置”文件进行两个编辑之后,运行configuration命令(从顶部的grestpdl-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之后,终端屏幕提供了帮助信息,这些信息告诉我二进制文件已经成功编译。
经过几个小时的搜索和实验,也许这可以帮助那些有着相同目标的人。
干杯!
https://stackoverflow.com/questions/23530459
复制相似问题