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

时间:2017-04-18 17:18:53

标签: c cygwin opencl

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

err = clBuildProgram(program, 0, NULL, NULL, NULL, NULL);
printf("%d\n", err);

打印 -11 CL_BUILD_PROGRAM_FAILURE

我已添加此代码以调试错误:

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失败

我使用的是Windows 10 / Cygwin,安装了gcc-core,opencl和opencl-devel。我在 /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include 中有 stddef.h xmmintrin.h 。我试图在 / usr / include cp,但没有运气。

如果我添加:

#include <stddef.h>
#include <xmmintrin.h>

到我的程序,它编译好了。

我在这里遗漏了什么吗?我应该补充一点,我不是Cygwin的有经验的用户。

0 个答案:

没有答案