使用 pp 制作的可执行文件缺少 'libexpat-1_.dll' 错误

Missing 'libexpat-1_.dll' error for executable made with pp

我使用 Strawberry Perl 用 pp 创建了 exe 文件,但是当我 运行 它在另一台机器上时,出现以下错误:

The program can't start because libexpat-1__.dll is missing from your computer. Try reinstalling the program to fix this problem. 

我用这个命令制作可执行文件:

pp -M FindBin -M DateTime -M DateTime::Format::JSON::MicrosoftDateFormat -M DateTime::Format::DateParse -M REST::Client -M JSON::XS -M Spreadsheet::ParseExcel -M Spreadsheet::ParseXLSX -M Log::Log4perl::Tiny -o test.exe test.pl

我尝试使用 -a "c:\strawberry\c\bin\libexpat-1_.dll"(没有帮助)和 -l "c:\strawberry\c\bin\libexpat-1_.dll"("Can't find shared library.." 错误)。

我该如何解决这个问题?

我的 DLL 名称有错字。使用 -l 选项解决了问题。不需要在命令中指定模块,因为 pp 会扫描脚本以查找使用的模块,并自动包含它们。构建它:

pp -l "libexpat-1__.dll" -o test.exe test.pl