Заголовочные файлы, на которые есть ссылки из заголовочного файла, не найдены.

У меня проблема с платформой 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 не может найти включенный заголовок .

Но возиться с заголовочными файлами фреймворка - не лучший вариант? Как правильно решить эту проблему?

5
задан Community 23 May 2017 в 10:30
поделиться