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);