使用devtools :: document编译包含外包的Rcpp代码

时间:2018-02-15 00:44:49

标签: r include g++ devtools

我正在尝试开发一个R package(名为gpuUtils),它会导入C++代码,RViennaCL用于{{1}利用率。

我安装了RViennaCL。然后,我跟着Hadley's guidelines for package developmentusage of C++ code,并用这些行创建了一个C ++文件:

GPU

然后,在运行// [[Rcpp::depends(RcppArmadillo)]] #include <RcppArmadillo.h> #include "viennacl/ocl/backend.hpp" using namespace Rcpp; 时出现此错误:

devtools::document
已安装

g++ -m64 -I/usr/include/R -DNDEBUG -I/usr/local/include -I"/home/ndr/R/x86_64-redhat-linux-gnu-library/3.3/Rcpp/include" -I"/home/ndr/R/x86_64-redhat-linux-gnu-library/3.3/RcppArmadillo/include" -I"/home/ndr/R/x86_64-redhat-linux-gnu-library/3.3/RViennaCL/include" -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c gpuUtils.cpp -o gpuUtils.o In file included from /home/ndr/R/x86_64-redhat-linux-gnu-library/3.3/RViennaCL/include/viennacl/ocl/backend.hpp:26:0, from gpuUtils.cpp:3: /home/ndr/R/x86_64-redhat-linux-gnu-library/3.3/RViennaCL/include/viennacl/ocl/context.hpp:28:19: fatal error: CL/cl.h: No such file or directory #include <CL/cl.h> ^ compilation terminated. make: *** [gpuUtils.o] Error 1 OpenCL,我确实在我的系统中看到了CUDA

CL/cl.h

$ ls -1 /usr/local/cuda-9.0/include/CL
cl_egl.h
cl_ext.h
cl_gl_ext.h
cl_gl.h
cl.h
cl.hpp
cl_platform.h
opencl.h

另外,在我的DESCRIPTION文件中,我有以下几行:

$ ls -1 /usr/include/CL/
cl2.hpp
cl_egl.h
cl_ext.h
cl_gl_ext.h
cl_gl.h
cl.h
cl.hpp
cl_platform.h
opencl.h

我想LinkingTo: Rcpp, RViennaCL (>= 1.7.1.7) Imports: Rcpp -I/usr/include/必须包含在-I/usr/local/cuda-9.0/include/来电中,但我不确定如何让g++这样做。< / p>

有什么想法吗?

0 个答案:

没有答案