如何安装/定位R.h和Rmath.h头文件?

时间:2013-11-21 17:38:31

标签: r header-files

我正在尝试在终端中编译一些C代码(称为rand_beta),其中包含使用gcc -o rand_beta rand_beta.c包含R.h和Rmath.h头文件的行,以便我可以从R中调用代码。 但是,我收到错误消息:

rand_beta.c:1:15: error: R.h: No such file or directory
rand_beta.c:2:19: error: Rmath.h: No such file or directory

似乎这些应该与R一起安装的头文件不在我的系统上。

有人可以指导我如何让计算机找到R头文件吗?我需要从某个地方下载它们吗?

3 个答案:

答案 0 :(得分:7)

首先需要找到这些标题。在我的系统中,它们位于我/usr/lib64/R/include/R.h安装的R-devel包的yum部分。

然后使用-I的{​​{1}}选项告诉gcc在哪里找到它们。

gcc

然后,您也很可能需要导出gcc -I/usr/lib64/R/include -o rand_beta rand_beta.c 来运行已编译的程序:

LD_LIBRARY_PATH

答案 1 :(得分:6)

其他答案会尝试猜测R安装目录的位置。但是有一个更强大的解决方案。使用 R.home 中的R命令在任何地方找到它:

> R.home('include')
/usr/lib64/R/include

这是我系统中包含R.hRmath.h的文件夹。您的文件夹可能位于不同的位置。

答案 2 :(得分:1)

另一种方法是指定一些环境变量来直接使用包含路径:

export CPATH=/usr/lib64/R/include/
export C_INCLUDE_PATH=/usr/lib64/R/include/
export CPLUS_INCLUDE_PATH=/usr/lib64/R/include/
export GCC_INCLUDE_DIR=/usr/lib64/R/include/

这应该运行良好:

gcc -o rand_beta rand_beta.c