作者taroa (玻色子。)
看板Perl
标题[讨论] 用PAR::Packer包WxPerl
时间Sun Jan 17 08:27:25 2010
WxPerl很难装,现在用cpan又装不起来了...
但是因为有WxGlade这个小工具可以生成现成的GUI code(尽管输出的perl code有点
太tricky了)所以我还是很爱用
WxPerl的小程式写完後就会想生出可执行档 XD
所以试了一下,发现Wx的perl modules要自已引入 =.=
主要用PAR::Packer,如果在windows上可以用Wx::Perl::Packager(不过还是要有前者
安装完成)
用很暴力的方法生出来
以下是丑丑的code
#!/bin/env perl
$wxdir = "/usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Wx";
$str=" -M attributes";
for(glob("$wxdir\/*pm")){
$_=~/\/([^\/]+)\.pm/;
$str = $str." -M Wx::$1";
}
system("pp $ARGV[0] $str -o $ARGV[1]");
在windows下也是OK的,不过除了perl modules还要自己包Wxwidgets的DLL档 =.=
以下是更丑一点的code
$dir = "C:\\strawberry\\perl\\site\\lib\\Wx";
$ldir = "C:\\strawberry\\perl\\site\\lib\\Alien\\wxWidgets\\msw_2_8_10_uni_gcc
_3_4\\lib\\";
$str = "";
for(glob($dir."\\*pm")){
$_=~/\\([^\\\/]+)\.pm$/;
$str = $str." -M Wx::$1";
}
for(glob($ldir."\\*dll")){
$str = $str." -l $_";
}
system("wxpar $str $ARGV[0] ");
其实有些时候还是要自已去check相依性… 像是WWW::Mechanize就要自已再补LWP进去
一点点小心得 :p
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.118.205
1F:推 abliou:推一下 01/17 11:17
2F:推 herculus6502:推两下 01/17 18:24