Re: [問題] 有關PAR在WINXP上執行的問題
※ 引述《sxx (hurry up!!)》之銘言:
: 大家好,第一次在這裡問問題請大家多多指教
: 今天在WINXP系統上灌了active perl 5.8.8
: 可以執行一些perl的程式沒有問題
: 之後使用了PPM灌了PAR模組(所有PAR相關的都灌了,PAR的版本是0.976)
最近剛好有用到 PAR, 以下提供一點自己的經驗.
首先是 ActivePerl 版本問題.
若要用 Par-Packer, 請一定要安裝 ActivePerl 5.8.8 rev822 以前 的版本.
為什麼呢? 查了 mailing list 的結果是因為 rev822 加入了
Perl 5.8 的 maintenance branch, (也就是未來會變成 Perl 5.9 的東西)
所以 SvIV() macro 會呼叫 Perl_sv_2iv_flags() function.
( http://www.nntp.perl.org/group/perl.par/2007/08/msg3193.html )
現在的 Par-Packer 都不能用了.
幸好安裝舊版就可以解決.
再來是 PAR 版本太舊的問題, 現在不知道解決了沒有, 不過之前我有找到
一個 repository, 提供編給 5.8.8 的 PPM, 你可以用以下的指令安裝:
ppm install http://theoryx5.uwinnipeg.ca/ppms/PAR-Packer-588.ppd
: 目的是想試著將test.pl轉成test.exe
: 輸入指令:(在命令提示字元下)
: C:\perl>perl -MPAR -test.exe test.pl
: 但是並沒有得到想要的結果
: 又嘗試輸入:
: C:\perl>pp -o test.exe test.pl
: 結果出現:
: 'pp'不是內部或外部命令、可執行的程式或批次檔
: 給我的感覺就是灌了好像沒灌= ="
這是路徑沒有設定好的關係, 你可以直接使用絕對路徑執行:
c:\perl\site\bin\pp test.pl -o test.exe
: 我也嘗試過用perl makefile.pl, nmake, nmake test, nmake install的程序安裝
: 但結果是一樣的
: 希望大家能給我一點意見,謝謝!
自己編譯小弟倒是沒試過,
當初選定 Perl on Win32 的目標就是盡量不做太瑣碎的事. Orz
最後是 Par-Packer 的 -a 參數. (加入檔案)
可以透過 $ENV{PAR_TEMP} 這個路徑去存取. 當初不知道還以為檔案加到不見. XD
另外借這文章想順便請教一個 PAR + Gtk2 的問題.. XDDD
因為 Gtk2 實在比 Win32::GUI 方便太多了阿, 光是能用 Glade 就贏兩倍了.
但根據這篇 Re: Using PAR with gtk2 on MS Windows
( http://mail.gnome.org/archives/gtk-perl-list/2005-April/msg00187.html )
PAR 在包模組的時候並不會管系統上的 GTK 環境, 因此沒辦法 "只靠" PAR
達成 Perl Gtk2 程式的可攜, 我找到的解決方法是透過 NSIS,
其實是 PortableApps.com 的 ApplicationPortableTemplate.nsi
( http://portableapps.com/node/6709 ) 來產生可攜式的 Gtk2 環境.
但用 PAR 包出來的模組似乎還是有缺, (使用 -M Gtk2 -M Gtk2::GladeXML 參數 ).
用 Perl2Exe 包出來的倒是可以用...(可是我不喜歡商業軟體!)
不知道有沒有辦法列出一個程式會用到的檔案和所有模組呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.114.80
推
09/03 08:37, , 1F
09/03 08:37, 1F
→
09/03 08:38, , 2F
09/03 08:38, 2F
推
09/03 09:29, , 3F
09/03 09:29, 3F
推
09/03 10:19, , 4F
09/03 10:19, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章