2

我一直在努力在网上找到合适的信息来解决这个问题,如果这是一个简单的任务,请指导我完成。

我的最终目标是编写一些使用 .Call 函数调用 C 子例程的 R 函数。一般来说,当 Rh 和 Rinternals.h 足够时,这样做没有问题。我的问题是:我需要在 C 代码中使用“personal.h”C 库中的一些函数。我已经用 gcc 编译了这个库,但如果我只是尝试添加

#include "personal.h"

在开始之后

#include <R.h>
#include <Rinternals.h>

就像我会做的那样,如果它是一个独立的 C 文件,当我在代码中调用该包中的任何函数时,在使用 R CMD SHLIB 编译时,我收到一条错误消息,告诉我无法找到该函数。为了在可从 R 调用的 C 例程中包含 C 库,我应该怎么做?

4

1 回答 1

1

阅读 R 副本随附的“编写 R 扩展”手册。

在这里,您需要PKG_CPPFLAGS告诉 R 您的包含文件/头文件。稍后,您将需要告诉它您的图书馆。

查看其他使用 C 代码的小包,例如我的摘要包。是的,事实上网上也有很多关于这方面的教程。

于 2013-11-06T12:22:48.887 回答