错误:执行“ R CMD INSTALL”时,“结果”未命名类型

时间:2018-08-09 05:12:47

标签: c++ r rcpp

我有一个从c ++函数返回的用户定义对象,可以使用Rstudio中的Rcpp库以R代码访问该对象。

使用“ R CMD INSTALL”在opencpu上构建并部署R包时,g ++编译器会引发错误:“ Result”未命名类型。

'Result'是一个c ++类,由c ++代码返回给调用的R代码。我认为R无法识别此c ++类,但在键入自动完成功能时会显示Result类。

我不明白为什么命令“ R CMD INSTALL”没有按预期执行和安装。

rcpp.c文件

#include <Rcpp.h>
#include "Engine.h"
#include "Result.h"
using namespace Rcpp;
using Engine::execute;
// [[Rcpp::export]]
List rcpp_hello_world() {

    CharacterVector x = CharacterVector::create( "foo", "bar" )  ;
    NumericVector y   = NumericVector::create( 0.0, 1.0 ) ;
    List z            = List::create( x, y ) ;

    return z ;
}

// [[Rcpp::export]]
Result execute(){
  printf("In cpp call!!");
  ForecastingModel *fm;
  InputData *sid;
  int i=1;
  int j=1;
  utils::Time *startTime;
  utils::Time *endTime;
  return Engine::execute(*fm,*sid,i,j,*startTime,*endTime);
}

c ++文件

#ifndef RESULT_H
#define RESULT_H

#include<string>
#include<vector>
class Result
 {
 private:

   int status ;
   std::vector<double> forecast;
   std::string dataproblem ;
  public:

  std::string getDataproblem( );
  void setDataproblem(std::string);
  void setForecast(std::vector<double> );
  std::vector<double>& getForecast();
  int getStatus( );
  void setStatus(int);
 };
 #endif

感谢您的帮助。谢谢!

0 个答案:

没有答案