使用Perl 5.26新安装的模块时出错

时间:2018-03-08 22:35:14

标签: perl module

我刚刚在Win32机器(XP)上安装了Strawberry Perl 5.26,并安装了Device :: ParallelPort(使用cpanm,安装正常)。

当我尝试使用该模块时,我有:

    Device::ParallelPort unabel to create driver auto (see Device::ParallelPort::drv::auto for further information) - Device::ParallelPort::
drv::auto (auto detect) error
failed to load win32 - Can't locate Device/ParallelPort/drv/win32.pm in @INC (you may need to install the Device::ParallelPort::drv::win
32 module) (@INC contains: Q:/APPS/Perl-5.26/perl/site/lib/MSWin32-x86-multi-thread-64int Q:/APPS/Perl-5.26/perl/site/lib Q:/APPS/Perl-5
.26/perl/vendor/lib Q:/APPS/Perl-5.26/perl/lib) at (eval 3) line 2.
BEGIN failed--compilation aborted at (eval 3) line 2.
. Make sure you have loaded and installed Device::ParallelPort::drv::win32 from CPAN. Install Device::ParallelPort::drv::(linux|parport|
win32) and try again at (eval 2) line 3.
 at Q:\VirtualDiskII\Perl\testlpt.pl line 25.

所以我安装了Device :: ParallelPort :: drv :: win32(安装正常)。在尝试使用该模块时,我有:

    Device::ParallelPort unabel to create driver auto (see Device::ParallelPort::drv::auto for further information) - Device::ParallelPort::
drv::auto (auto detect) error
failed to load win32 - Failed to load inpout32.dll - Can't create Inp32 2 - Une requÛte d'envoi ou de rÚception de donnÚes n'a pas ÚtÚ a
utorisÚe car le socket n'est pas connectÚ et (lors de l'envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n'a
ÚtÚ fournie. at Q:/APPS/Perl-5.26/perl/site/lib/Device/ParallelPort/drv/win32.pm line 75.
. Make sure you have loaded and installed Device::ParallelPort::drv::win32 from CPAN. Install Device::ParallelPort::drv::(linux|parport|
win32) and try again at (eval 2) line 3.
 at Q:\VirtualDiskII\Perl\testlpt.pl line 25.

有什么想法吗?

提前谢谢你!

1 个答案:

答案 0 :(得分:1)

根据Device::ParallelPort::drv::win32文档......

  

标准安装,但您还需要“inpout32.dll”,这可能需要放入您的Windows系统目录或可执行文件的位置。

     

inpout32.dll实际上来自第三方来源,可免费使用。

     

http://www.logix4u.net/inpout32.htm

不幸的是,该网站似乎不再有效。你必须找到另一个来源。

如果您想要雄心勃勃,可以修补模块以自动处理此问题,如果DLL的许可证允许,则附带DLL。或者写一个Alien包装模块。