2015-11-14 25 views
2

当我尝试安装地穴:: TEA模块在Windows 7 perl的5.18,显示的错误:不能老是安装Perl模块,地穴:: TEA

TEA.xs: In function 'XS_Crypt__TEA_crypt': TEA.xs:58:9: error: invalid use of void expression

+0

我得到相同的错误。 SvUPGRADE不会返回一个值,也不能使用它的使用方式。 – Schwern

回答

5

的问题是this line

if (SvREADONLY(output) || !SvUPGRADE(output, SVt_PV)) 
     croak("cannot use output as lvalue"); 

SvUPGRADE()是一个有两个void操作的宏,它不返回一个值。如果失败,它会发出cro ak声。将其更改为:

if (!SvREADONLY(output)) 
     SvUPGRADE(output, SVt_PV);