我已經在R-Studio中使用Rcpp成功構建了自己的軟件包。但是,在Windows控制檯中構建軟件包時,會出現一些錯誤消息,指出文件丟失R.h
。在Windows R-Studio之外使用Rcpp編譯軟件包
我設置path
和R_Home
環境與
SET PATH=D:\RTools\gcc-4.6.3\bin;D:\R3\bin;D:\RTools\bin;
SET R_HOME=D:\R3\
而生成命令是
R CMD INSTALL --byte-compile --build mypkg
以下是編譯錯誤消息:
g++ -m32 -I"/include" -DNDEBUG -I"D:/R3/library/Rcpp/include" -I"d:
/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -mtune=core2 -c Rcpp
Exports.cpp -o RcppExports.o
In file included from D:/R3/library/Rcpp/include/Rcpp.h:27:0,
from RcppExports.cpp:4:
D:/R3/library/Rcpp/include/RcppCommon.h:35:15: fatal error: R.h: No su
ch file or directory
compilation terminated.
經過一番嘗試,我現在可以確認'R CMD INSTALL'不能識別'Makevars.win'文件中的'$ {R_HOME}'。這就是爲什麼我們從提示中看到「-I」/ include「'。 'Makevars.win'的內容默認爲從Rcpp生成的,即:'PKG_LIBS = $(shell「$ {R_HOME}/bin $ {R_ARCH_BIN} /Rscript.exe」-e「Rcpp ::: LdFlags() 「) – baidao
它適用於CRAN的windows版本,適用於R-Forge的windows版本,適用於win-builder,適用於rcpp-devel許多(Windows)用戶。也許你使用不同的shell。也許你的R CMD是非標準的。由於您提供的少量細節無法幫助您。 –
順便說一句,你應該不需要設置'R_HOME' - R傾向於知道它的安裝位置。 –