我想在我的Rcpp代码中使用对应于R库BayesLogit rpg(http://www.inside-r.org/packages/cran/BayesLogit/docs/rpg)的c函数“rpg_hybrid”。我已将LogitWrapper.h和库BayesLogit.so包含在链接阶段。 GCC仍然找不到rpg_hybrid。
答案 0 :(得分:2)
虽然您似乎已经解决了问题,但我会在开发您可能想要的R包时提供答案。发布到CRAN。
基本上,BayesLogit
的作者需要明确地为其他包作者提供此类例程。这在section 5.4.2 of R-exts中有所描述。从我从源代码中看到的情况来看,这还没有完成,所以你将无法以便携式的方式调用该软件包中的本机C / C ++代码,因此CRAN可以接受。
您的选择是:
顺便说一下,Rcpp还有一些工具,只能以标题方式提供源代码。包装作者可能会说服使用Rcpp Attributes来提供一些例程,因为它提供了一种简单的机制,允许其他作者在包中使用C ++代码;见第3.5节。
答案 1 :(得分:1)
班上的一名学生向我询问了你的问题。虽然我没有时间去做Kevin / Dirk建议的事情,但我已经在我的Github页面上发布了一个更加用户友好的C ++ API。 见https://github.com/jgscott/helloPG
这是一个R包骨架的形式,可以很容易地修改。我希望在过渡期间这将是一个可行的备用,直到我们可以适当地修改BayesLogit。
-James