我在Windows 7下使用R3.0.2(32位),在路径中有TDM-GCC-32 (gcc (tdm-2) 4.8.1)。
当我尝试使用cppFunction时,会发现一些错误:
library(inline)
library(Rcpp)
src <- '
SEXP hellofun(){
std::vector<std::string> s;
s.push_back("hello");
s.push_back("world");
return Rcpp::wrap(s);
}'
hello_fun <- cppFunction(src)错误消息:
Error in inDL(x, as.logical(local), as.logical(now), ...) (from file1c8c8c929f5.cpp.R#1) :
unable to load shared object 'C:/Users/ssss11/AppData/Local/Temp/RtmpeywSmo/sourcecpp_1c8c47543253/sourceCpp_60750.dll':
LoadLibrary failure: Invalid access to memory location然而,当我运行示例(Cfuntion)时,它成功了。
library(inline)
example(cfunction)如何解决这个问题?
发布于 2014-01-25 19:52:30
我不知道TDM-GCC-32 (gcc (tdm-2) 4.8.1)可能是什么--但我们的文档一再强调,在Windows上只有一个编译器是支持的:Rtools的版本对应于您的R版本。
现在,'TDM-gcc-32‘很可能与特性兼容,但是如果您想使用它,您可能需要重新构建整个R堆栈(即R本身,所有包,.)带着它。
因此,最好等待Rtools / CRAN将Rtools更新为比gcc-4.6更新的版本。
https://stackoverflow.com/questions/21355022
复制相似问题