我有一个C++对象,我使用Perl XS转换为Perl。这个过程适用于Perl 5.8.5和5.8.7。但只要我尝试使用Perl 5.10.0,就会遇到很多编译错误。他们大多数沿着这些线:当我用Perl 5.10编译XS时,为什么会出现“undefined reference”错误?
undefined reference to 'PL_stack_max' undefined reference to 'PL_stack_sp' undefined reference to 'Perl_sv_2pv_flags' undefined reference to 'Perl_sv_setref_pv'
这告诉我,由于某种原因,Perl XS的东西没有正确链接。当我从5.8.5版本升级到5.8.7版本时,我只需要更改版本并重新制作。
任何提示?
perl 5.10.0不能与5.8.x进行二进制向后兼容。 – ysth 2009-08-09 10:25:44
@Ysth:如果你这么说。我记得看到了配置问题,但我不记得这些问题是否与5.10.0一起出现。今年我只创建了几次Perl 5.10.0,并没有太注意答案,因为我从来没有寻求向后兼容性,默认是'不'。 – 2009-08-09 15:37:23
但在这种情况下,我试图用5.10.0重新编译;不使用5.10.0 – shergill 2009-08-10 14:39:42