小编Suz*_*ard的帖子

在使用RcppArmadillo时,无法使用devtools构建R包

这是我的第一个stackoverflow问题,所以请善待,伙计们!

我非常喜欢我最近发现的使用devtools构建R包的能力.但是,一旦我尝试构建一个使用RcppArmadillo的包,我运行devtools :: document(),devtools :: check()和devtools :: build()的工作流程就不再有效了.

例如,我有一个(希望非常简单+完整)测试版本的软件包我试图在这里开发:https://github.com/suztolwinskiward/fooR/.fooR只包含一个函数,它是fields包中rdist.earth函数的C++实现.

运行devtools :: document("fooR")会抛出大量的消息(有些消息指向不存在于我的源代码中的变量的"未定义引用",这些变量对我来说是不可解释的,然后失败:

    collect2: ld returned 1 exit status
    no DLL was created
    ERROR: compilation failed for package 'fooR'
    * removing 'C:/Users/I53794/AppData/Local/Temp/RtmpWgC8nD/devtools_install_1ea473123086/fooR'
    Error: Command failed (1)
Run Code Online (Sandbox Code Playgroud)

另一方面,当我获取依赖于RcppArmadillo的C++函数时,它似乎运行得很好:

> Rcpp::sourceCpp('./src/rdist_earth_cpp.cpp')
> data('miami')
> data('new_orleans','katrina_path')
> rdist_earth_cpp(katrina_path,new_orleans)
            [,1]
 [1,] 1042.36073
 [2,]  998.96793
 [3,]  957.69315
 [4,]  917.91486
 [5,]  868.07791
 [6,]  805.73485
 [7,]  763.01476
 [8,]  726.10133
 [9,]  692.14482
[10,]  670.15133
[11,]  662.23353
[12,]  625.55592
[13,]  601.08682
[14,]  579.73940
[15,]  560.32660
[16,] …
Run Code Online (Sandbox Code Playgroud)

devtools armadillo rcpp r-package

6
推荐指数
1
解决办法
1116
查看次数

标签 统计

armadillo ×1

devtools ×1

r-package ×1

rcpp ×1