我在使用RStudio的电脑上运行Rcpp
时遇到问题。每当我sourceCpp()
一个cpp文件,甚至是Rcpp::Rcpp.package.skeleton()
附带的Hello World文件时,我都会收到警告
In normalizePath(path.expand(path), winslash, mustWork) :
path[1]=".../anRpackage/src/../inst/include": The system cannot find the path specified
我搜索了Stackoverflow,看起来有些人在他们的包的描述中没有Depends:Rcpp时会收到此警告,但我只是运行sourceCpp()
因此描述文件无关紧要(我也改变了我的描述文件)。
这只是一个警告,所以我写的类和函数确实出现在R中,但是在我使用R中的函数几次后,RStudio经常崩溃,这可能与也可能没有关系。
我的会话信息:
R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Rcpp_0.12.1 RevoUtilsMath_7.4.1 RevoUtils_7.4.1 RevoMods_7.4.1 RevoScaleR_7.4.1 lattice_0.20-30 rpart_4.1-9
loaded via a namespace (and not attached):
[1] codetools_0.2-10 foreach_1.4.2 grid_3.1.3 iterators_1.0.7 tools_3.1.3
我想革命R可能是罪魁祸首,但我无从知晓。我很感激帮助,因为我不想忽视这个警告,而且显然不适合RStudio反复崩溃。
亲切的问候
答案 0 :(得分:0)
今天这仍然有意义,所以这是我的发现。
Rcpp可以生成与C ++和R之间的接口。 这些是在源文件中指定的属性的帮助下生成的。
根据这些属性,对Rcpp::compileAttributes()
的调用将产生标题。同时,这还将创建文件夹<package directory>/inst/include
。如果没有在任何地方指定属性,则compileAttributes()
不会创建这些目录。
为了消除此警告,请创建<package directory>/inst/include
。
有关属性的更多信息,请参见Rcpp attributes vignette。