在R中安装OpenCL包

在R中安装OpenCL包,r,opencl,header-files,R,Opencl,Header Files,我正在尝试从CRAN安装OpenCL软件包。为此,我首先安装了适用于OpenCL应用程序的英特尔SDK,现在可以在文件夹C:\Program Files(x86)\Intel\OpenCL SDK\6.3中找到它。然而,这仍然让我陷入困境,因为我认为找不到这个新安装的库: *** arch - i386 c:/Rtools/mingw_32/bin/gcc -I"C:/PROGRA~1/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.

我正在尝试从CRAN安装
OpenCL
软件包。为此,我首先安装了适用于OpenCL应用程序的英特尔SDK,现在可以在文件夹
C:\Program Files(x86)\Intel\OpenCL SDK\6.3
中找到它。然而,这仍然让我陷入困境,因为我认为找不到这个新安装的库:

*** arch - i386
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-33~1.3/include" -DNDEBUG     -I"d:/Compiler/gcc-4.9.3/local330/include"     -O3 -Wall  -std=gnu99 -mtune=core2 -c ocl.c -o ocl.o
ocl.c:6:23: fatal error: CL/opencl.h: No such file or directory
 #include <CL/opencl.h>
                       ^
compilation terminated.
make: *** [ocl.o] Error 1
Warning: running command 'make -f "Makevars" -f "C:/PROGRA~1/R/R-33~1.3/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-33~1.3/share/make/winshlib.mk" SHLIB="OpenCL.dll" OBJECTS="ocl.o tools.o"' had status 2
ERROR: compilation failed for package 'OpenCL'
* removing 'C:/Users/seban876/Documents/R/win-library/3.3/OpenCL'
***arch-i386
c:/Rtools/mingw_32/bin/gcc-I“c:/PROGRA~1/R/R-33~1.3/include“-DNDEBUG-I”d:/Compiler/gcc-4.9.3/local330/include“-O3-Wall-std=gnu99-mtune=core2-c ocl.c-o ocl.o
ocl.c:6:23:致命错误:CL/opencl.h:没有这样的文件或目录
#包括
^
编译终止。
make:**[ocl.o]错误1
警告:运行命令“make-f”Makevars“-f”C:/PROGRA~1/R/R-33~1.3/etc/i386/Makeconf“-f”C:/PROGRA~1/R/R-33~1.3/share/make/winshlib.mk”SHLIB=“OpenCL.dll”OBJECTS=“ocl.o tools.o”的状态为2
错误:包“OpenCL”的编译失败
*删除“C:/Users/seban876/Documents/R/win library/3.3/OpenCL”

从源代码处编译包时,如何确保找到此库

首先,我会检查您安装的OpenCL版本。从错误中可以看出,您安装的版本可能不是64位的,而是64位的。另一方面,我将查找头文件(
opencl.h
)的位置,并查看它是否在include目录中(使用标志
-I“somedir”
链接到编译器的目录也在错误中)

如果您在其他地方找到它,您可以继续进行“轻松修复”,即在已链接到编译器目录中创建符号链接。否则,您可以使用
PKG_LIB
变量将此新位置添加到编译器中。这可以在
$HOME/.R/Makevars.win
中设置(我猜您使用的是Windows)。最好是追加而不是覆盖,以防其他包想要设置此变量

有关系统的更多信息有助于了解编译器无法找到特定头文件的原因