人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

解決策には高ポイント(300〜↑)です。
Perlをexe化するPARについて質問です。

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

●質問者: drivingsummer
●カテゴリ:コンピュータ
✍キーワード:cygwin exe PAR Perl WindowsXP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Iwa
●700ポイント

http://neta.ethersky-online.net/image/png/par_1.png

ページではなくて申し訳ないですが、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スクリプトのソースそのもの他)がのこるんですよねぇ(ぉ

◎質問者からの返答

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

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

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

makeできるのでしょうか?

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

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

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

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

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

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

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

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


2 ● shampoohat
●300ポイント

http://blue.sakura.ne.jp/~junnno/ykwk212/wiki.cgi?C%2B%2B%B4%C4%...

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

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

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

>

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

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


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


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

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


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


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

◎質問者からの返答

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

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

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


3 ● Iwa
●300ポイント

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をインストールしていない環境でもすぐに使いたい」という用途にしか向きませんね。

◎質問者からの返答

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

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ