行列代数を含む MCMC アルゴリズムを、劇的に速度を向上させたパッケージをC++
使用するように移動した R パッケージがあります。RcppEigen
ただし、LinuxではR CMD check
次のようになります( R-Forgeのおかげです):NOTE
* checking installed package size ... NOTE
installed size is 6.6Mb
sub-directories of 1Mb or more:
libs 6.1Mb
この警告はおそらく、C++ コードの信じられないほどのサイズ (わずか 150 行程度) によるものではなく、Linux でのみ表示されるため、Makevars
ファイルを正しく構成できなかったことが原因である可能性があります。(私は一度も使用make
したことがありませんmakefile
)。
また、パッケージを に提出したときCRAN
、Brian Ripley は、これに関して何か問題NOTE
があると思わせるようなことを書きましたMakevars
: 「シンボルのデバッグに由来します。」
MyMakevars
は、 によって作成された標準Rcpp
Makevars
(以下に示す)Rcpp.package.skeleton
です。
私の質問:
- Linux でコンパイルされたライブラリのサイズを小さくするように my を構成するにはどうすればよいですか
Makevars
(つまり、 を削除しますNOTE
)? Makevars
forの魔法に入る方法についての良いリソースは何Rcpp
ですか? (ギャラリーに
は何も見つかりませんでした。これに関するR拡張マニュアルも理解できませんでした)
私のMakevars
:
## Use the R_HOME indirection to support installations of multiple R version
PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"`
PKG_CPPFLAGS = -I. -I../inst/include
私のMakevars.win
:
## This assume that we can call Rscript to ask Rcpp about its locations
## Use the R_HOME indirection to support installations of multiple R version
PKG_LIBS = $(shell $(R_HOME)/bin/Rscript.exe -e "Rcpp:::LdFlags()")
PKG_CPPFLAGS = -I. -I../inst/include