[英]Package compilation dynamic library loading error
我通過使用Rcpp在R中包裝了一個小型c ++程序,並且事先檢查了c ++代碼是直接用g ++ 4.8.4編譯的,沒有警告或錯誤。 沒有外部庫,僅使用STL。
當我使用devtools在RStudio中編譯我的包時,出現以下錯誤:
Updating PerseusR documentation
Loading PerseusR
Error in dyn.load(dllfile) :
unable to load shared object '/home/leonid/Documents/Programmation/PerseusR project/PerseusR/src/PerseusR.so':
/home/leonid/Documents/Programmation/PerseusR project/PerseusR/src/PerseusR.so: undefined symbol: _Z9lexicoPoslllRSt6vectorIlSaIlEE
Calls: suppressPackageStartupMessages ... -> load_all -> load_dll -> library.dynam2 -> dyn.load
Execution halted
Exited with status 1.
看起來編譯很好,並且某些動態庫的加載存在問題。 在未定義符號中,lexicoPos是c ++代碼中函數的名稱。
關於如何解決此問題的任何想法?
如果您嘗試的本地嘗試失敗,建議您從創建的示例開始:調用Rcpp.package.skeleton()
並將其創建的所有文件與您擁有的文件進行比較。
也許您忘記了NAMESPACE
的必填行,也許是這樣-我們無法從您提供的信息中分辨出來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.