У меня проблема с платформой Nvidia OpenCl / Cuda, но я думаю, что это проблема gcc
.
В примере файла opencl_hello_world.c
используется следующий заголовочный файл:
#include "../OpenCL/common/inc/CL/opencl.h"
с opencl.h
с использованием этих файлов заголовков:
#include <../OpenCL/common/inc/CL/cl.h>
#include <../OpenCL/common/inc/CL/cl_gl.h>
#include <../OpenCL/common/inc/CL/cl_gl_ext.h>
#include <../OpenCL/common/inc/CL/cl_ext.h>
Таким образом, все файлы заголовков находятся в одной папке.
Когда я затем компилирую с gcc opencl_hello_world.c -std=c99 -lOpenCL
, я получаю следующие сообщения об ошибках:
error: ../OpenCL/common/inc/CL/cl.h: No such file or directory
error: ../OpenCL/common/inc/CL/cl_gl.h: No such file or directory
...
Даже если cl.h
и другие файлы заголовков находятся в этой папке.
После поиска SO я изменил включенные в opencl.h
значения на
#include "cl.h"
#include "cl_gl.h"
, как я прочел здесь: gcc Не могу найти включенный заголовок .
Но возиться с заголовочными файлами фреймворков не похоже на путь?Как правильно решить эту проблему?