2

R 内から Eurequa を実行しようとしています。 http://code.google.com/p/eureqa-api/ 以下のコードを使用していますが、コンパイル エラーが発生します。

Error in compileCode(f, code, language = language, verbose = verbose) : 
  Compilation ERROR, function(s)/method(s) not created! 


library(Rcpp)
library(inline) 
rcpp1 <- '


int main(int argc, char *argv[])
{




  // initialize data set and options
  eureqa::data_set data("abc1.txt");
  eureqa::search_options options("y = f(x)");

  // connect to a eureqa server
  eureqa::connection conn("127.0.0.1");
  conn.send_data_set(data);
  conn.send_options(options);
  conn.start_search();

  // display results
  eureqa::search_progress progress;
  eureqa::solution_frontier solutions;

  while (conn.query_progress(progress))
  {
    solutions.add(progress.solution_);
    std::cout << progress.summary() << std::endl;
    std::cout << solutions.to_string() << std::endl;
  }
  return 0;
}
'


rcpp2 <- cxxfunction(
                       rcpp1, plugin="Rcpp", 
                       includes=c('#include  <eureqa/eureqa.h>, <iostream>'))




rcpp2()

あなたの助けに感謝します。

4

1 に答える 1

1

さて、エラーは何ですか?

そして、cxxfunction()1 つのヘッダー ファイルについて説明しましたが、コンパイラにそれを取得する場所を伝える必要があるかもしれません --- また、おそらく、リンクするライブラリとその場所をコンパイラ (リンカーを呼び出す) に伝える必要があります。それ。「Rcpp-FAQ」ビネットには、cxxfunction()GSL ヘッダーとライブラリの場所を示す方法の例があります。

最後に、includes=c('#include <eureqa/eureqa.h>, <iostream>'かなり間違っているように見えます。多分あなたは意味した:

 include=c("#include <eureqa/eureqa/eureqa.h>", "include <iostream>")

代わりは。

于 2012-07-14T23:00:01.237 に答える