我工作的环境中,动态库的链接仅限于某些位置。当我使用RStudio并请求一个新的C++文件时,我得到了"Hello World"模板。当我试图编译它并点击RStudio中的"Source"链接时,我得到了一个错误:
LoadLibrary failure: Access is denied.
此错误是因为库所在的空间不允许加载DLL文件。为了绕过这个限制,我想确定如何告诉RCpp将临时dll(不在包中)放置在特定位置。
我知道Dirk建议这不在RCpp的范围内,所有代码都应该放在包中,但这对这里的用户来说不是最友好的环境。我怀疑大多数人会将RStudio项目与GIT一起使用。
也就是说,有没有一个环境变量,我可以修改它,让RCpp把临时dll文件放在一个特定的地方。或者还有其他机制可以用来改变这一点吗?
尝试设置R尊重的TMPDIR
。这实际上不是Rcpp问题,而是一般的R CMD build
/R CMD INSTALL
问题。
来自help(tempfile)
:
环境变量
TMPDIR
、TMP
和TEMP
已检入turn和第一个找到的指向可写目录的是used:如果没有成功,则使用/tmp
。
小写C.的PS Rcpp。