[討論] 用PAR::Packer包WxPerl

看板Perl作者 (玻色子。)時間15年前 (2010/01/17 08:27), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
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

01/17 11:17, , 1F
推一下
01/17 11:17, 1F

01/17 18:24, , 2F
推兩下
01/17 18:24, 2F
文章代碼(AID): #1BKbbnfN (Perl)
文章代碼(AID): #1BKbbnfN (Perl)