是否有可能在[win-builder](http://win-builder.r-project.org/)上构建一个使用Rcpp和Boost.Thread的R包?

Sim*_*mon 4 c++ multithreading boost r rcpp

最近,我制作了一个R包,它使用Rcpp集成R和C++.C++库Boost用于多线程.我想知道我的软件包是否可以在http://win-builder.r-project.org/上构建?

我发现定义了一个Make变量--- BOOSTLIB ---,如http://cran.r-project.org/bin/windows/contrib/ThirdPartySoftware.html所示.

我尝试使用仅限标头的库,没关系,但是当我尝试使用单独编译的库Boost.Thread时,出现了"没有这样的文件"或"未定义的引用"错误.也许lib路径错了.但是,我几乎找不到任何关于胜利者的话.我是否只能使用仅限标头的库,或者有没有办法配置Makevars.win来查找单独编译的Boost.Thread库?

或者也许我可以在我的软件包中包含Boost源文件,但我认为这不是一个好方法,而且我也不知道如何包含(我还没有尝试过).

我发现有一个R包BH尝试为R提供Boost.这非常有帮助,我非常感谢BH的作者所做的工作,但是,当我问这个问题时,Boost.Thread不包括在内.也许我可以等到他们包括Boost.Thread.但我现在更喜欢自己做,所以我可以学到更多.

Dir*_*tel 5

目前的BH维护者在这里.几点:

  • 如上所述,我们的BH包只提供Boost的(一部分)标题.包根据需要增长,我们可能会很快添加(因为我有一个请求).

  • Win-Builder支持BOOSTLIB在Windows上设置标头; 正如评论所说,我不认为它提供了图书馆.在RQuantLib中,我只使用它来获取QuantLib类所需的头文件.

  • 几个包已经在Windows上遇到了线程问题; 同事BH-coauthors杰伊和迈克在他们的大记忆包和同步性等支持包 的背景下尝试过.但到目前为止,他们并没有提供Windows支持,因为Windows不同,并且在使用一些Unix惯用语时也很痛苦.

编辑:这里是README同步:

目前,只有在使用64位Windows的Boost或MinGW中存在错误时,才会在unix平台上支持同步性.一旦解决了这些问题,我们就会立即扩展对Windows的支持.

如果要将此程序包与32位Windows一起使用,则可以(注释掉DESCRIPTION中的OS_type行).

2010年10月30日.修改了配置以修复Solaris问题.

总之,没有预先建立的工具供您依赖.