如何交叉编译perl

如何交叉编译perl,第1张

先下载Perl源码:https://www.perl.org/get.html , 下载版本是5.10.1

下载逗春Perl交叉编译源码补丁: https://sourceforge.net/projects/perlcross.berlios/files/,野橘 下载版本是:perl-5.10.0-cross-0.3.tar.gz

分别解压连个文件到同一个目录下;

1

在ubuntu中安装 perlbrew:

     sudo apt-get install perlbrew

perlbrew init

source ~/perl5/perlbrew/etc/bashrc

perlbrew install perl-5.10.1

2

3

4

5

等待perlbrew安装完毕;

2

3

1

合并 两个解压出来的perl目录,进入perl-5.10.1的Cross目录中:

cp -rfv perl-5.10.0/*  perl-5.10.1/

cd perl-5.10.1/Cross

2

1

文件内容如下注意加了星号的内容:

### Target Arch

** ARCH = arm **

#ARCH = i386-pc

#ARCH = sh4

#ARCH = mips

#ARCH = mipsel

#ARCH = ppc

## Specific arm

**#CONFIG_TARGET_ARM_SA11X0 = 1**

#CONFIG_TARGET_ARM_XSCALE = 1

### Target OS

**OS = linux**

#OS = solaris2.8

1

修改perl的config文件

gedit Cross/config ##或者 vi gedit Cross/config

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

上面加粗字体表示注意的或者修改的;

修改当前目录(Cross目录)中的Makefile文件:

先改变一下目录内容的权限:

chmod 777 /Cross/*

修改的Makefile文件内容:

   export TOPDIR=${shell pwd}

   include $(TOPDIR)/config

   export CFLAGS

   ** export SYS=arm-linux **

   ** export CROSS=/stuff/bitbake/bin/tmp/sysroots/i686-    linux/usr/armv7a/bin/arm-angstrom-linux-gnueabi- **

   ** export LD_LIBRARY=/stuff/bitbake/bin/tmp/sysroots/i686-linux/usr/lib:$(LD_LIBRARY_PATH) **

   export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2

   export OPTIMIZATION = -O2

   export CC = arm-angstrom-linux-gnueabi-gcc

   export CXX = arm-angstrom-linux-gnueabi-g++

   export LD = arm-angstrom-linux-gnueabi-ld

   export STRIP = arm-angstrom-linux-gnueabi-strip

   export AR = arm-angstrom-linux-gnueabi-ar

   export RANLIB = arm-angstrom-linux-gnueabi-ranlib

12345678910111213141516

make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm patch

make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm perl

编译会出错,但是没关系,会在根颂指团目录生成perl可执行文件;

如果在Windows下可以手皮使用明薯橘perl2exe(找破解版),建议使用PERLAPP(也就是ActivePERL的PDK套件),功能非常强大,不过是商业软件,也可激团以去找一个破解版本(最新版是5.3XXX).

PDK可以把PERL脚本编译成常规应用程序/WINDOWS

SERVICE/工具栏程序等等.功能非常强大.也就是说你利用PERL编写的脚本,在Windows上面做一服务程序,完全没有问题.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12226680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存