OpenCL clBuildProgram,未找到stddef.h/xmmintrin.h(cygwin)

OpenCL clBuildProgram,未找到stddef.h/xmmintrin.h(cygwin),c,cygwin,opencl,C,Cygwin,Opencl,我正在用OpenCL编写一个小程序,并调用: err = clBuildProgram(program, 0, NULL, NULL, NULL, NULL); printf("%d\n", err); 打印-11,或CL\U构建程序\U失败 我添加了以下代码以调试错误: if (err != CL_SUCCESS) { char *buff_erro; cl_int errcode; size_t build_log_len; errcode = clGetP

我正在用OpenCL编写一个小程序,并调用:

err = clBuildProgram(program, 0, NULL, NULL, NULL, NULL);
printf("%d\n", err);
打印-11,或CL\U构建程序\U失败

我添加了以下代码以调试错误:

if (err != CL_SUCCESS) {
    char *buff_erro;
    cl_int errcode;
    size_t build_log_len;
    errcode = clGetProgramBuildInfo(program, device_id, CL_PROGRAM_BUILD_LOG, 0, NULL, &build_log_len);
    if (errcode) {
      printf("clGetProgramBuildInfo failed at line %d\n", __LINE__);
      exit(-1);
    }

    buff_erro = malloc(build_log_len);
    if (!buff_erro) {
      printf("malloc failed at line %d\n", __LINE__);
      exit(-2);
    }

    errcode = clGetProgramBuildInfo(program, device_id, CL_PROGRAM_BUILD_LOG, build_log_len, buff_erro, NULL);
    if (errcode) {
      printf("clGetProgramBuildInfo failed at line %d\n", __LINE__);
      exit(-3);
    }

    fprintf(stderr,"Build log: \n%s\n", buff_erro); //Be careful with  the fprint
    free(buff_erro);
    fprintf(stderr,"clBuildProgram failed\n");
    exit(EXIT_FAILURE);
  }
其中打印:

生成日志:错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:359:10:'stddef.h' 未找到文件错误:/usr/include/CL/CL_platform.h:405:18: 未找到“xmmintrin.h”文件错误: /未找到usr/include/CL/CL_platform.h:405:18:'xmmintrin.h'文件

clBuildProgram失败

我使用的是Windows10/Cygwin,安装了gcc内核、opencl和opencl-devel。我在/usr/lib/gcc/x86\u 64-pc-cygwin/5.4.0/include中有stddef.hxmmintrin.h。我试图在/usr/包含
cp
他们,但运气不好

如果我加上:

#include <stddef.h>
#include <xmmintrin.h>
#包括
#包括
对于我的程序来说,它编译得很好


我是不是遗漏了什么?我应该补充一点,我不是Cygwin的经验丰富的用户。

有没有理由使用仍处于测试模式的编译器?6.3.0尚未发布,因为当前的gcc编译器我想知道这是否是因为我没有最新版本的gcc,因此尝试更新。我首先尝试了5.4.0,但同样的错误也发生了。谢谢你的信息,我将降级到5.4.0!(但要明确的是,我仍然有错误)。+编辑了我的邮件,我在读这个,对吗?您不能在OpenCL内核中包含stddef.h或xmmintrin.h,我没有。我包括了,包括那些。当我说我试图在我的程序中包含它们时,我说的是我的主要原因,而不是我的OpenCL内核为什么要使用仍然处于测试模式的编译器?6.3.0尚未发布,因为当前的gcc编译器我想知道这是否是因为我没有最新版本的gcc,因此尝试更新。我首先尝试了5.4.0,但同样的错误也发生了。谢谢你的信息,我将降级到5.4.0!(但要明确的是,我仍然有错误)。+编辑了我的邮件,我在读这个,对吗?您不能在OpenCL内核中包含stddef.h或xmmintrin.h,我没有。我包括了,包括那些。当我说我试图在我的程序中包含它们时,我说的是我的主内核,而不是OpenCL内核