尝试在R中调用C ++ .dll库时出错

时间:2015-06-11 21:43:14

标签: r dll

我有一个库,让我们说mylibrary.dll,它有我想在R中运行的c ++代码。我这样做了:

dyn.load("mylibrary.dll")
.Call("myfun")

我明白了:

Error in .Call("myfun") : C symbol name "myfun" not in load table

现在,我已经在这里和其他网站上看到了类似问题的几个答案,但是当我尝试每个解决方案时,每个解决方案似乎都需要访问原始源代码,例如添加类似的东西这个:extern "C"到C ++代码或以某种方式重新编译代码。我所拥有的只是一个.dll文件,我想直接使用它来从R中调用其中包含的函数。

1 个答案:

答案 0 :(得分:0)

解决方案:该功能的名称与我的预期不同。我去了Alexey在评论中建议的线程,并且从那里能够使用一个建议的工具(DLL导出查看器)来获取函数列表,在那里我找到了正确的名称。

(唉,我现在需要弄清楚为什么R在我调用函数时会锁定,但我的问题在这里完成了!)