首页 > 解决方案 > 为 C++ 代码创建 R 包时引用 boost 库

问题描述

我正在创建一个调用 C++ 函数的 R 包。C++ 中的代码引用了一个 boost 库。

Rcpp.package.skeleton("cpackage")
Rcpp::compileAttributes()

在 src 文件夹中复制了相关的 .cpp 和 .h 文件,我已成功使用

    R CMD build cproject

When I install the package it gives me following error:

> R CMD INSTALL cproject_1.0.tar.gz
In R CMD INSTALL
* installing to library 'C:/Users/user1/Documents/R/win-library/3.4'
* installing *source* package 'cproject' ...
** libs

*** arch - i386
c:/Rtools/mingw_32/bin/g++  -I"C:/PROGRA~1/R/R-34~1.3/include" -DNDEBUG  -I"C:/Users/user1/Documents/R/win-library/3.4/Rcpp/include"        -O2 -Wall  -mtune=generic -c abc.cpp -o abc.o
In file included from abc.cpp:1:0:
Euler.h:6:53: fatal error: boost/math/special_functions/binomial.hpp: No such file or directory
 #include <boost/math/special_functions/binomial.hpp>
                                                     ^
compilation terminated.
make: *** [C:/PROGRA~1/R/R-34~1.3/etc/i386/Makeconf:215: abc.o] Error 1
Warning: running command 'make -f "C:/PROGRA~1/R/R-34~1.3/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-34~1.3/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="cproject.dll" OBJECTS="abc.o abcT.o RcppExports.o rcpp_hello_world.o"' had status 2
ERROR: compilation failed for package 'cproject'
* removing 'C:/Users/user1/Documents/R/win-library/3.4/cproject'

如何在构建包时引用 boost 库?

标签: c++rboost

解决方案


推荐阅读