2015-07-10 11 views
-1

在這個問題上有許多類似的問題,但是如果我不知道如何獲取Rh和Rmath.h頭文件,已經有他們(我搜查了我的電腦,他們不在那裏)。這些是將C/C++函數與R代碼鏈接所需的頭文件。找到/下載頭文件Rh和Rmath用於與R接口C

簡單地說,哪個R軟件包應該把標題放在電腦上,還是有一個網站我可以下載它們?

This question提到R-devel軟件包,但在我的R(3.1.1)版本中似乎沒有提供。堆棧溢出的其他問題發現here,herehere,但不直接回答我不認爲的問題。

任何幫助表示讚賞。

克里斯托弗

+1

什麼操作系統?什麼版本? –

+1

你在什麼操作系統上?你是否從二進制文件或源代碼安裝了R? 「R-devel」不是R軟件包,而是R的開發版本 - 該問題將其稱爲操作系統(yum)軟件包。 – Spacedman

+0

R-devel可能是一些不良分佈的軟件包名稱。 –

回答

1

他們應該是下面的r RHOME文件夾中的文件夾include

$ R RHOME 
/home/rowlings/Downloads/R-3.2.1 

$ ls -l `R RHOME`/include 
total 108 
-rw-r--r-- 1 rowlings rowlings 511 Jun 29 17:34 Rconfig.h 
-rw-r--r-- 1 rowlings rowlings 5916 Jun 29 17:34 Rdefines.h 
-rw-r--r-- 1 rowlings rowlings 2085 Jun 29 17:34 Rembedded.h 
drwxr-xr-x 2 rowlings rowlings 4096 Jun 29 17:34 R_ext 
-rw-r--r-- 1 rowlings rowlings 2063 Jun 29 17:34 R.h 
-rw-r--r-- 1 rowlings rowlings 4818 Jun 29 17:34 Rinterface.h 
-rw-r--r-- 1 rowlings rowlings 46137 Jun 29 17:34 Rinternals.h 
-rw-r--r-- 1 rowlings rowlings 17619 Jun 29 17:34 Rmath.h 
-rw-r--r-- 1 rowlings rowlings 509 Jun 29 17:34 Rversion.h 
-rw-r--r-- 1 rowlings rowlings 2142 Jun 29 17:34 S.h 
+0

謝謝 - 我確實在那裏找到了它們。頭文件的默認目錄似乎在我尋找的RBuildTools中,我的系統自動搜索顯然沒有搜索R程序文件(儘管它搜索了RBuildTools,因爲它發現了其他頭文件)。我現在已經複製了它們。目前在R CMD SHLIB遇到問題 - 有人知道127是什麼意思嗎? – Bazz

1

大多數Linux發行版應該有locate

[email protected]:~$ locate Rmath.h | grep "usr/" | grep -v "local/" 
/usr/include/Rmath.h 
/usr/include/JAGS/JRmath.h 
/usr/share/R/include/Rmath.h 
[email protected]:~$ 

(我dev的這裏的版本,版本控制檢出,並且源Debian軟件包因此grep還顯示了一個假陽性。 。JAGS)

最後, 「官方」 的方式去了解這是要求[R本身:

[email protected]:~$ R CMD config --cppflags 
-I/usr/share/R/include 
[email protected]:~$ 
+0

我得到「R不是作爲一個庫建立的」:( – Spacedman

0

這些頭文件包含在R安裝中(無論是從CRAN還是從源代碼構建);你應該能夠在R會話中使用R.home()找到它們;例如

list.files(R.home("include")) 

給我

> list.files(R.home("include")) 
[1] "libintl.h" "R_ext"  "R.h"   
[4] "Rconfig.h" "Rdefines.h" "Rembedded.h" 
[7] "Rinterface.h" "Rinternals.h" "Rmath.h"  
[10] "Rversion.h" "S.h"