微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Perl 5.10编译XS时,为什么会出现“未定义的引用”错误?

我有一个C对象,我使用Perl XS转换为Perl.这个过程适用于Perl 5.8.5和5.8.7.但是当我尝试使用Perl 5.10.0时,我遇到了很多编译错误.他们中的大多数都是这样的:
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升级到v5.8.7时,我只需要更改版本并重新制作.

有小费吗?

解决方法

移动到5.10.0后,您是否重新编译了XS扩展?

您是否在构建Perl 5.10.0时保持向后兼容性? (这是否可能?我从未试图建立向后兼容性,所以我不能确定它甚至是一个选项,@ Ysth认为它不是.)

我在Perl的主要版本之间工作时遇到了类似的问题,但最近还没有充分确信究竟是什么导致了这个问题.但我似乎记得在配置过程即将结束的某个地方存在一个问题,即哪个以前版本的Perl与XS扩展兼容等等.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐