集成来自C++的 R 代码

Integrating R code from C++

本文关键字:代码 C++ 集成      更新时间:2023-10-16

我想使用 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;          
}

我们可以从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 的命令。