c++ - cxxfunction 错误消息,内联 R 包

标签 c++ r rcpp

我正在尝试重现基于 R 帮助的 R 示例。 这是内联包中的 cxxfunction 示例。

require(Rcpp)

require(inline)

# Rcpp plugin
if( require( Rcpp ) ){

fx <- cxxfunction( signature(x = "integer", y = "numeric" ) , '
    return wrap( as<int>(x) * as<double>(y) ) ;
', plugin = "Rcpp" )
fx( 2L, 5 )

    ## equivalent shorter form using rcpp()
fx <- rcpp(signature(x = "integer", y = "numeric"),
               ' return wrap( as<int>(x) * as<double>(y) ) ; ')

}

我收到这条消息:

compileCode(f, code, language = language, verbose = verbose) 错误: 编译错误,未创建函数/方法!警告信息: 运行命令'make -f "C:/PROGRA~1/R/R-30~1.3/etc/i386/Makeconf"-f "C:/PROGRA~1/R/R-30~1.3/share/make/winshlib.mk"....

此外:

警告信息: 运行命令 'C:/PROGRA~1/R/R-30~1.3/bin/i386/R CMD SHLIB file3a86e316ef8.cpp ...

我正在使用:

平台 i386-w64-mingw32 和 R-3.0.3

最佳答案

正如凯文所说,它更容易使用属性。属性 //[[Rcpp::export]] 为您完成所有工作。

安装了 RRcpp 的当前版本后,创建一个名为 test.cpp 的文件来放置此代码:

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
double fx(int x, double y){
    return x*y;
}


/*** R
fx(2L,5)
fx(2L,5.1)
*/

然后在 R session 中运行:Rcpp::sourceCpp('test.cpp')

如果您按照说明安装 RR-tools 并设置 PATH 变量(如果在 Windows 上),那应该可行正确。

关于c++ - cxxfunction 错误消息,内联 R 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491717/

相关文章:

c++ - 在 C++ 迭代器中,我应该同时定义 operator== 和 operator!= 吗?

c++ - 避免在树结构中使用强制转换

r - 引文包 : biblatex not working in R bookdown

R - dplyr bootstrap 几个变量

c++ - 特殊值不能用作 unordered_map 中的键

c++ - "typename qualified-id"引用非类型参数声明中的类型

c++ - 如何在 visual studio 2010 中调试时获取隐藏类型的 boost::variant 变量?

基于列表(哈希)替换 R 中的向量值

c++ - Rcpp:我无法将参数传递给 C++ 函数

c++ - 从 R 翻译的随机生成代码在 C++ 中失败