Perl XS를 사용하여 Perl로 변환하는 C++ 객체가 있습니다. 이 프로세스는 Perl 5.8.5 및 5.8.7에서 잘 작동합니다. 하지만 Perl 5.10.0을 사용하자마자 많은 컴파일 오류가 발생합니다. 대부분은 다음과 같습니다.XS를 Perl 5.10으로 컴파일 할 때 "정의되지 않은 참조"오류가 발생하는 이유는 무엇입니까?
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로 갔을 때 버전을 변경하고 다시 작성해야했습니다.
팁이 있습니까?
perl 5.10.0은 5.8.x와 이진 하위 호환성을 가질 수 없습니다. – ysth
@Ysth : 그렇게 말하면. 구성 질문을 본 기억이 있지만 그 질문이 5.10.0과 함께 왔는지는 기억하지 못합니다. 필자는 Perl 5.10.0을 올해에 두세 번 밖에 만들지 않았으며, 이전 버전과의 호환성을 절대로 찾지 못했기 때문에 많은주의를 기울이지 않았습니다. 기본값은 '아니요'입니다. –
하지만이 경우에는 5.10.0을 사용하여 다시 컴파일하려고합니다. 5.10.5와 5.8.5로 컴파일 된 것을 사용하지 마십시오 – shergill