为什么打包的Perl脚本不能在不同的机器上工作?

为什么打包的Perl脚本不能在不同的机器上工作?,perl,Perl,我一直在尝试将一个由我以外的人用perl编写的脚本编译成一种不需要安装perl就可以使用的可执行格式。Crypt::SSLeay打包似乎存在某种问题,但我不确定错误的含义。这是一本书 我曾尝试使用PAR PP和 Cava打包,两者都将创建可运行的可执行文件,在我使用的具有Perl的机器上运行得很好,但是每当我把它转移到不同的计算机时,就会在屏幕截图中看到错误。每次更改编译器设置后都会出现相同的错误,现在我不知道该怎么办。如果我遗漏了任何有助于回答的内容,请让我知道,我很乐意提供,编码不是我的领

我一直在尝试将一个由我以外的人用perl编写的脚本编译成一种不需要安装perl就可以使用的可执行格式。
Crypt::SSLeay
打包似乎存在某种问题,但我不确定错误的含义。这是一本书

我曾尝试使用PAR <代码> PP<代码>和<代码> Cava打包,两者都将创建可运行的可执行文件,在我使用的具有Perl的机器上运行得很好,但是每当我把它转移到不同的计算机时,就会在屏幕截图中看到错误。每次更改编译器设置后都会出现相同的错误,现在我不知道该怎么办。如果我遗漏了任何有助于回答的内容,请让我知道,我很乐意提供,编码不是我的领域,所以我还在学习,这是我第一次接触Perl

首先。但是,现代和
Crypt::SSLeay
都需要在机器上安装二进制文件才能运行

两者都将创建可执行文件,在我使用的带有perl的机器上运行良好,但每当我将其传输到另一台计算机时,我都会收到错误

这是因为目标计算机没有将
OpenSSL
安装在编译要绑定的模块的同一位置。

首先。但是,现代和
Crypt::SSLeay
都需要在机器上安装二进制文件才能运行

两者都将创建可执行文件,在我使用的带有perl的机器上运行良好,但每当我将其传输到另一台计算机时,我都会收到错误


这是因为目标计算机没有将
OpenSSL
安装在编译要绑定的模块的同一位置。

使用
pp
,我有时不得不在命令中显式地包含模块,即
pp-M Crypt::SSLeay-o script.exe script.pl
,不确定原因,但不妨怀疑SSLeay.dll依赖于openssl dll;也许你可以看看
dumpbin/dependents SSLeay.dll
在你的系统上说了些什么?这里有人让它工作了,尽管是13年前:请不要给我们显示文本图像。这怎么会有用呢?您的错误消息是文本-那么为什么不在您的问题中包含文本呢?使用
pp
,我有时不得不在命令中显式地包含模块,即
pp-M Crypt::SSLeay-o script.exe script.pl
不确定这是为什么,但我怀疑SSLeay.dll依赖于openssl dll;也许你可以看看
dumpbin/dependents SSLeay.dll
在你的系统上说了些什么?这里有人让它工作了,尽管是13年前:请不要给我们显示文本图像。这怎么会有用呢?您的错误消息是文本-那么为什么不在问题中包含文本呢?