Rcpp我在 PC 上运行 RStudio 时遇到问题。每当我sourceCpp()使用 cpp 文件,甚至是附带的 Hello World 文件时Rcpp::Rcpp.package.skeleton(),我都会收到警告
In normalizePath(path.expand(path), winslash, mustWork) :
path[1]=".../anRpackage/src/../inst/include": The system cannot find the path specified
Run Code Online (Sandbox Code Playgroud)
我搜索了 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
Run Code Online (Sandbox Code Playgroud)
我认为 Revolution R 可能是罪魁祸首,但我无从得知。我将不胜感激,因为我不想忽略这个警告,而且 RStudio 反复崩溃显然并不理想。
亲切的问候
这在今天仍然具有现实意义,所以这是我的发现。
Rcpp 可以生成与 C++ 和 R 之间的接口。这些接口是在源文件中指定的属性的帮助下生成的。
根据这些属性,调用会Rcpp::compileAttributes()生成标头。同时,这还会创建文件夹<package directory>/inst/include. 如果您在任何地方都没有指定任何属性,则compileAttributes()不会创建这些目录。
为了消除此警告,请创建<package directory>/inst/include.
有关属性的更多信息,请参阅Rcpp 属性小插图。