我有一个库,让我们说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中调用其中包含的函数。
答案 0 :(得分:0)
解决方案:该功能的名称与我的预期不同。我去了Alexey在评论中建议的线程,并且从那里能够使用一个建议的工具(DLL导出查看器)来获取函数列表,在那里我找到了正确的名称。
(唉,我现在需要弄清楚为什么R在我调用函数时会锁定,但我的问题在这里完成了!)