Создание пакета, который использует RcppArmadillo - PullRequest
0 голосов
/ 06 марта 2012

Я написал функции с использованием RcppArmadillo и встроенных пакетов, я использую Windows 7, R-2.14.1 и Rtools215 установлены, и путь проверен.

funs = cxxfunction(list(MHcpp = signature(…), IWcpp = signature(…),  c(code1,code2), 
plugin="RcppArmadillo" ) # No compline and I they work fine as expected.

Package.skeleton(“new”,funs) # to create the package skeleton and the dynamic libray
# to build the package  I use
R CMD INSTALL –build new # I get the following error
C:/Users/samuel/Documents/R/win-library/2.14/Rcpp/lib/i386/libRcpp.a(Dimension.o
):Dimension.cpp:(.text+0x342): undefined reference to `_Unwind_SjLj_Unregister'
…………………………………………………………..
…………………………………………………………….
C:/Users/samuel/Documents/R/win-library/2.14/Rcpp/lib/i386/libRcpp.a(Environment
.o):Environment.cpp:(.text$_ZN4Rcpp11no_such_envC1Ei[Rcpp::no_such_env::no_such_
env(int)]+0x3fc): undefined reference to `_Unwind_SjLj_Unregister'
C:/Users/samuel/Documents/R/win-library/2.14/Rcpp/lib/i386/libRcpp.a(Environment
.o):Environment.cpp:(.text$_ZN4Rcpp11no_such_envC1Ei[Rcpp::no_such_env::no_such_
env(int)]+0x644): undefined reference to `_Unwind_SjLj_Resume'
collect2: ld returned 1 exit status
ERROR: compilation failed for package 'new'
* removing 'C:/Users/samuel/Documents/R/win-library/2.14/new'

Любые советы о том, как исправитьпроблема.

1 Ответ

2 голосов
/ 06 марта 2012

Вам необходимо использовать вариант package.skeleton, предоставленный Rcpp, или в этом случае RcppArmadillo. То есть звоните

 RcppArmadillo.package.skeleton(...)

не тот из базы R.

Вы также можете посмотреть, как организованы другие пакеты CRAN, зависящие от RcppArmadillo, и сравнить различия.

...