集成来自C ++的R代码

时间:2017-06-15 11:50:16

标签: c++ r dll

我想使用Visual Studio从C ++代码调用R函数。代码如下。我收到以下错误:

  

"错误LNK2019:函数_main"

中引用了未解析的外部符号_Rf_initEmbeddedR

我找不到"_Rf_initEmbeddedR"的定义。任何人都可以帮助如何将R与C ++代码集成吗?

enter code here
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include "Rinternals.h"
#include "Rembedded.h" 

SEXP hello() {
  return mkString("Hello, world!\n"); 
} 

int main(int argc, char **argv) 
{ 
  SEXP x; 
  Rf_initEmbeddedR(argc, argv); 
  x = hello(); 
  return 0;          
}

1 个答案:

答案 0 :(得分:0)

我们可以从C ++代码中调用R脚本,如下所示

#include "stdafx.h"
#include <iostream>
using namespace std;

int main(int argc, char **argv) { 
cout<<"Before"<<endl;
system("C:\\\"Program Files\"\\R\\R-3.3.2\\bin\\rscript C:\\R-
Scripts\\test_script.R");

return 0;

}

rscript是执行test_script.R的命令。