C++ 无法在并行计算中加载cpp函数

C++ 无法在并行计算中加载cpp函数,c++,r,parallel.foreach,r-package,C++,R,Parallel.foreach,R Package,我在WindowsHPCServer中安装了我自己的包PrimeBayesMIR,以进行并行计算。我发现在foreach循环之外调用我的cpp函数是有效的 > Run1Gibbs3_2_cpp function (n, ninst, m, membership, Y, X_bag, hp_mu_beta1, hp_a, hp_b, hp_g_beta, hp_pi, hp_inv_Sig_beta, beta1, sig2_error, delta) { .C

我在WindowsHPCServer中安装了我自己的包
PrimeBayesMIR
,以进行并行计算。我发现在
foreach
循环之外调用我的cpp函数是有效的

> Run1Gibbs3_2_cpp
function (n, ninst, m, membership, Y, X_bag, hp_mu_beta1, hp_a, 
    hp_b, hp_g_beta, hp_pi, hp_inv_Sig_beta, beta1, sig2_error, 
    delta) 
{
    .Call("_PrimeBayesMIR_Run1Gibbs3_2_cpp", PACKAGE = "PrimeBayesMIR", 
        n, ninst, m, membership, Y, X_bag, hp_mu_beta1, hp_a, 
        hp_b, hp_g_beta, hp_pi, hp_inv_Sig_beta, beta1, sig2_error, 
        delta)
}
<bytecode: 0x00000000152761b0>
<environment: namespace:PrimeBayesMIR>

你有办法处理这种问题吗?到目前为止,我找不到任何解决办法。感谢您对此的任何评论。

您能否向我们展示您的软件包
名称空间
中的
useDynLib
行?@RalfStubner Hi,感谢您对此的关注。您是指文件
名称空间
?不幸的是,如果是这样的话,就没有这条线了。如果我误解了你的评论,请纠正我。你在使用Rcpp吗?它确实可以帮助开发C++。无论如何,它可能有助于添加<代码>。包=“PrimeBayeSmir”< /C> > <代码>我先试试。我错过了。另外,我生成了另一个包,得到了您告诉我的内容
useDynLib(PrimeBayesMIR2,.registration=TRUE)
。你看到这里有什么问题吗?有用吗?只要您拥有所需的注册码,
useDynLib
行看起来很好,Rcpp会自动执行该操作。
Error in { : 
  task 1 failed - ""_PrimeBayesMIR_Run1Gibbs3_2_cpp" not available for .Call() for package "PrimeBayesMIR""