0
我已經使用RcppArmadillo和內聯軟件包編寫函數,我使用的是Windows 7,安裝了R-2.14.1和Rtools215並檢查了路徑。創建使用RcppArmadillo的軟件包
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'
有關如何解決問題的任何建議。
我嘗試使用RcppArmadillo.package.skeleton(「new」,funs),它創建包含MHcpp和IWcpp函數的目錄和new.cpp文件。然後我檢查是否可以安裝「新建」軟件包「Rcmd check new」,這是我得到的。 *檢查文件'new/DESCRIPTION'...好吧 *檢查軟件包名稱空間信息...好吧 *檢查軟件包依賴關係...好吧 *檢查這是否是源軟件包...好吧 *檢查if有一個名字空間...好吧 *檢查可執行文件...好吧 *檢查是否可以安裝軟件包'new'...錯誤 安裝失敗。 我錯過了什麼?謝謝 – 2012-03-07 04:21:23
在rcpp-devel – 2012-03-07 04:24:43
上發佈一個可重現的例子和所有錯誤謝謝Dirk,問題解決了。我使用Rtools213,刪除舊版本,然後安裝新的「Rtools215」解決了這個問題。感謝提供幫助。 RcppArmadillo是一款優秀的軟件包,它使我的代碼速度提高了70%以上。 – 2012-03-08 05:09:31