我正在尝试使用Rcpp编译一个同时包含C ++和Fortran代码的R包。编译工作正常,但程序包无法dyn.load共享对象,并引发错误:

undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE

c++filt应用于此可以得到:

vtable for __cxxabiv1::__si_class_type_info

程序包是来自此处的sf_onefolder分支:https://github.com/blowfish711/PEcAnRTM

我认为这可能是由于与最新R版本的某种兼容性(或缺乏兼容性),但是在不同系统上的较旧R版本却给出了相同的错误。

对于调试它,我什至不需要答案。过去,我已经将gdb与R脚本一起使用,但是我对如何实现此方法一无所知。欢迎任何建议!

最佳答案

您发布的内容并非是可复制的示例,但首先想到的是不同的标头/签名,例如需要使用
从C调用C ++函数之前的extern "C"

您可能需要类似的东西。很难多说,但是当然有一起使用C ++和Fortran的软件包。

关于c++ - RCPP无法dyn.load库:缺少__si_class_type_info,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29836908/

10-13 00:08