私はC++にはかなり慣れていませんが、Rに多くの時間を費やしてきました.RcppArmadilloを使用しようとしています.cppファイルはsourceCpp関数を使用して供給されています. 私のコード例は
http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-June/006150.html
以下に表示されます。
#include <RcppArmadillo.h>
using namespace Rcpp ;
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
arma::colvec rowSumsRcppArmadillo(NumericMatrix x){
arma::mat X = arma::mat(x.begin(), x.nrow(), x.ncol(), false);
return arma::sum(X, 1);
}
Rcpp および RcppArmadillo パッケージをインストールし、Rcpp (RcppArmadillo なし) を使用して C++ 関数を統合しました。ただし、RcppArmadillo の場合、次のエラーが発生します。
> sourceCpp("rowSums.cpp")
ld: warning: directory not found for option '-L/usr/local/lib/gcc/i686-apple- darwin8/4.2.3/x86_64'
ld: warning: directory not found for option '-L/usr/local/lib/x86_64'
ld: warning: directory not found for option '-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3'
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sourceCpp_76327.so] Error 1
...
Error in sourceCpp("rowSums.cpp") :
Error 1 occurred building shared library.
何か案は?ありがとう。