我试图从c++返回一个映射到r。我在c++中的代码如下(如https://github.com/RcppCore/Rcpp/blob/master/inst/tinytest/cpp/wrap.cpp中所示):
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
IntegerVector map_string_int(){
std::map< std::string, int > m ;
m["b"] = 100;
m["a"] = 200;
m["c"] = 300;
return wrap(m);
}我的r代码如下:
require(Rcpp)
Rcpp::sourceCpp(test.cpp')
map_string_int()尽管代码编译时没有任何错误,但当我调用函数时,r会话将立即终止。有什么想法吗?
编辑
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Portuguese_Portugal.1252
[2] LC_CTYPE=Portuguese_Portugal.1252
[3] LC_MONETARY=Portuguese_Portugal.1252
[4] LC_NUMERIC=C
[5] LC_TIME=Portuguese_Portugal.1252
attached base packages:
[1] stats graphics grDevices utils datasets
[6] methods base
other attached packages:
[1] Rcpp_0.11.3
loaded via a namespace (and not attached):
[1] tools_3.1.1发布于 2014-10-16 00:23:38
决定尝试另一个编译器,它成功了!
我已经安装了Rtools编译器(http://cran.r-project.org/bin/windows/Rtools/),之后将系统路径更改为指向Rtools安装文件夹中的bin文件夹。
https://stackoverflow.com/questions/26385100
复制相似问题