Error in .Call("MicroCreditLRVBR_TestJacobian", PACKAGE = "MicroCreditLRVBR") :
"MicroCreditLRVBR_TestJacobian" not available for .Call() for package "MicroCreditLRVBR"
Run Code Online (Sandbox Code Playgroud)
包框架是用Rcpp.package.skeleton().我复制了我R和C++代码,修改了Makevars指向包外的一些代码,更新了DESCRIPTION链接到RcppEigen,然后运行compileAttributes().然后我跑去R CMD build创建一个.gz文件并R CMD INSTALL安装它.它已成功构建和链接,但因上述错误而终止.
我可以看到函数MicroCreditLRVBR_TestJacobian确实在RcppExports.cpp和中定义RcppExports.R.我不知道为什么它不可用.Call.
请注意,NAMESPACE包括useDynLib(MicroCreditLRVBR)和exportPattern("^[[:alpha:]]+").
当前状态下包的公共副本位于此github仓库中.任何帮助,将不胜感激.
当您从以下位置切换名称时:
MicroCreditLRVB
至
MicroCreditLRVB R.
例如
useDynLib(MicroCreditLRVB)
Run Code Online (Sandbox Code Playgroud)
去:
useDynLib(MicroCreditLRVBR)
Run Code Online (Sandbox Code Playgroud)
另外,从microcredit_stan_lib.R中删除第1-22行.它们应该被放入一个"演示"文件中/inst.
最后,导入boost标头使用BH和减少绝对路径Makevars.