私はいくつかのインラインC++を持つRスクリプトを持っており、同じディレクトリにヘッダファイルを含めたいと思っています。ディレクトリをハードコーディングせずに、Rcppインラインでローカルヘッダファイルを含めるにはどうしたらいいですか?
library(Rcpp)
library(inline)
code <- '
// my C++ code here
'
settings=getPlugin("Rcpp")
settings$env$PKG_CXXFLAGS='-I /hard/coded/path/to/header/'
myfunction <- cxxfunction(signature(x="numeric"),
plugin="Rcpp", include='#include "myheader.hpp"',
settings=settings, body=code)
しかし、同じディレクトリにヘッダーファイルを含めるのが便利なように思えます。私はそれが何であるか分かりません。私は本当に同じディレクトリにあるC++ファイルを含める方法が好きです。
(また謝罪:私はC++(またはR)忍者ではないので、私は非常に何かを明らかに欠落している可能性があり
同じディレクトリ= RスクリプトとCPPファイルが置かれているディレクトリ。私はちょうど "sugarbenchmarks.r"サンプルスクリプトで、現在の作業ディレクトリがgetwd()で得られ、これが上記の-Iフラグとともに使用されていることに気付きました。それがこの問題を解決する標準的な方法ですか? –
現在のディレクトリを追加する最も簡単な方法は '-I.'を使うことです。私はあなたが '〜/ .R/Makevars'の' CXXFLAGS'を使ってあなたのすべてのRプロジェクトのためにやってもいいと思います。 –
恐ろしいです。助けてくれてありがとう - Rcppにも感謝します。 –