解決策には高ポイント(300〜↑)です。

Perlをexe化するPARについて質問です。

非Cygwin環境のWindowsXPでActivePerl5.86
をインストールしています。
PARを使ってperlスクリプトをexeにしたいのですが、cmdでコマンドを打つとAutoloaderの
エラーとなります。
@INCの環境変数のパスに必要なファイルが
入っていないからだとは思うのですが、ちょいとチェックする時間がとれません。
済みませんが日本語でPARのインストールから必要なライブラリのインストール。
perlのexe化までを詳細に書いてあるページを教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:Iwa No.1

回答回数120ベストアンサー獲得回数6

ポイント700pt

ページではなくて申し訳ないですが、PARが何度か使ったことがあるので。


PARをインストールするには、PARが使う以下のモジュールが予めインストールされている必要があります。

(現在の最新版であるPAR 0.87が要求するモジュール)

・File::Temp 0.05以降

・Compress::Zlib 1.16以降

・Archive::Zip 1以降

・Module::ScanDeps 0.06以降

・PAR::Dist 0.06以降

・Parse::Binary 0.04以降

・Win32::Exe 0.04以降

・Digest (Digest::SHAまたはDigest::SHA::PurePerl)

・Module::Signature 0.35以降


大半は、ActivePerl御なじみのPPM形式での配布が行われていないので、CPANからソースをダウンロードしてインストールしなければなりません。


インストール方法はVisualC++があるのを前提として、

perl makefile.pl

nmake

nmake test

nmake install

になります。

(これは原則、どのモジュールも共通)


で、これらモジュールインストールが終わってから最後にPARをインストールします。

http://namazu.org/~satoru/diary/20040716.html

PAR: Perl のスクリプトを Windows 用の実行ファイル (exe形式) に変換する : いやな日記

使い方(exe化)についてはこちらを見た方が私が説明するよりも分かりやすいと思います。


でも、PARってexe化したファイルの実行時に展開したデータを終了後に消さないのでゴミ(格納されていたPerlスクリプトのソースそのもの他)がのこるんですよねぇ(ぉ

id:drivingsummer

ご丁寧に有り難うございました。

VisualC++が必要なんですね。。。

因みにBorandなどのフリーのCコンパイラでも

makeできるのでしょうか?

C,C++は経験が無いためちょっと分からないので

便乗して質問させていただけませんか?

今までperlだけで作業の効率化をするためにスクリプトを書いておりまして、ほかのActivePerlがない

環境でも使えるようにするためにexe化しようと思ってたんです。

>でも、PARってexe化したファイルの実行時に展開したデータを終了後に消さないのでゴミ(格納されていたPerlスクリプトのソースそのもの他)がのこるんですよねぇ(ぉ

ありゃ。そうなんですか。

そいではPARでexeにするのってソース

隠すためには使えないんですねorz

2005/05/12 22:39:30
id:shampoohat No.2

回答回数347ベストアンサー獲得回数0

ポイント300pt

> VisualC++が必要なんですね。。。

> 因みにBorandなどのフリーのCコンパイラでも

> makeできるのでしょうか?

>

> C,C++は経験が無いためちょっと分からないので

> 便乗して質問させていただけませんか?


便乗の方だけ回答します。


nmakeって知らないんですが、Microsoftの方もIDE以外のコマンドラインの方は無償利用可能にしています。

(#a1 の nmakeをmakeに代替することで解決する可能性も有るとは思います)


URLからダウンロードページにいけます。


# こういうベンダからのフリー化で、不法コピーソフトを利用する馬鹿が減れば良いと思うんですがね。

id:drivingsummer

情報有り難うございます。

あとでぺージをチェックしてみて、できそうでしたら

環境を構築してみたいと思います。

2005/05/12 23:14:27
id:Iwa No.3

回答回数120ベストアンサー獲得回数6

ポイント300pt

http://www9.ocn.ne.jp/~ymt/perl/activeperl_mingw.html

MinGW で CPAN のモジュールをコンパイルする方法

> 因みにBorandなどのフリーのCコンパイラでも

> makeできるのでしょうか?


できます。

gcc(MinGW)とかマイクロソフトがコンパイル専用にだしたVisual C++ Toolkit 2003でも一応できます。

ただ、それぞれ使えるようにするには下準備が必要になります。

(何をしなければいけないのかについてはGoogleで検索するといろいろ見つかります)

http://www.hatena.ne.jp/1107009118

人力検索はてな - CGI(Perl)のソースコードを隠蔽する方法を探しています。 Windows(ActivePerl)で開発し、Lnuxで運用する予定ですので 両方で使える物を教えて下さい。 一応perlccを試しま..

> そいではPARでexeにするのってソース

> 隠すためには使えないんですねorz


そうですね。

過去の質問でも回答しましたが、

PARはスクリプトのソースをPerlコンパイラと一緒にそのまま圧縮してパッケージにしているだけなのでただ「Perlをインストールしていない環境でもすぐに使いたい」という用途にしか向きませんね。

id:drivingsummer

再度解答ありがとうございました。

とても勉強になりました。有り難うございます。

gccを使って構築するのが一番無難そうなので

ページを参考に環境を作ってみます。

問題が解決しましたのでここら辺で質問を

終了させていただこうかと思います。

2005/05/12 23:18:52

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません