我们可以使用 MinGW 编译 Perl 脚本吗?

Posted

技术标签:

【中文标题】我们可以使用 MinGW 编译 Perl 脚本吗?【英文标题】:Can we use MinGW to compile a Perl script? 【发布时间】:2011-04-17 07:41:12 【问题描述】:

我在 Windows 中编译或运行 Perl 脚本时遇到了一些问题。我在我的 Windows 中安装了 MinGW 以使用 GCC 包编译 C 代码。现在,我可以使用 MinGW 编译 Perl 脚本/代码吗?

【问题讨论】:

【参考方案1】:

没有。 GCC 不包括 Perl。试试Strawberry Perl 或ActivePerl for Windows,它们是 Windows 的 Perl 发行版。

【讨论】:

@Alan:在此之前,我已经为我的 Windows 安装了 ActivePerl,但我不知道如何使用它。我只是单击file.pl,但什么也没发生。那么如何编译运行并展示结果呢? Mohd Isa:可以通过运行命令来运行脚本:perl path\to\file.pl @Alan oic,需要在 cmd 中运行来仪式吗? @Alan:那么我需要使用什么命令行来编译和运行它? Mohd Isa:你不必这样做。您可以使用上述命令运行它。但是,请阅读:perldoc -q "How can I compile my Perl program into byte code or C?"【参考方案2】:

参见 PAR::Packer 的前端 pp,或“Cava Packager”,或 IndigoStar 的 Perl2Exe,或 ActiveState 的 PerlApp

【讨论】:

【参考方案3】:

ActivePerl 为 .pl 文件创建快捷方式(如果您在安装期间选中该框)。您可以通过在提示符下运行以下命令来查看关联:

>assoc .pl
.pl=Perl

>ftype Perl
Perl="C:\Progs\perl5121-ap1201\bin\perl.exe" "%1" %*

(使用返回的 wahtever assoc 作为 ftype 的参数。)

你可以自己做:

assoc .pl=Perl
ftype Perl=Perl="C:\Progs\perl5121-ap1201\bin\perl.exe" "%1" %*

(为您的机器使用正确的路径。)

请记住,许多脚本需要命令行输入,并且当您通过双击启动脚本时,控制台会在脚本退出后立即关闭。因此,从提示符运行脚本通常会更好。

如果您有上述关联设置,您可以从控制台运行 Perl 脚本,只需键入其名称即可

>script.pl
Hello, World!

或者您可以明确指定它需要 Perl。

>perl script.pl
Hello, World!

假设 Perl 在PATH 中。如果没有,您可以指定 Perl 的整个路径。

>C:\Progs\perl5121-ap1201\bin\perl script.pl
Hello, World!

【讨论】:

感谢您的帮助。这意味着我需要先安装 ActivePerl 才能使用 perl PATH 对吗? @Mohd Isa。不,PATH 是一个环境变量。它在“我的电脑”属性中的某处进行了配置。

以上是关于我们可以使用 MinGW 编译 Perl 脚本吗?的主要内容,如果未能解决你的问题,请参考以下文章

Qt的 MinGw版本一直都不支持WebEngIne吗

把perl脚本编译成exe

使用mingw 对libcURL,openSSL,zLib交叉编译

MinGW - 交叉编译工具 - 最新版本?

在后台运行的单个 perl 脚本可以保存多个 Log4Perl 实例吗?

可以将 perl 脚本的执行权限限制为从另一个 perl 脚本调用吗?