У меня проблема с инфраструктурой OpenCl/Cuda от Nvidia, но я думаю, что это проблема связи 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 Can't Find a Included Header.
Но возиться с файлами заголовков фреймворков не похоже на путь? Каким будет правильный способ справиться с этой проблемой?
поэтому я добавляю '-I ../ OpenCL/common/inc/CL /', но я все еще получаю ошибку: '.../OpenCL/common/inc/CL/cl.h: Нет такого файла или каталога ' – Framester
Поскольку путь уже находится в #include <>, вы должны перейти к -I по пути BEFORE ../OpenCL/etc, а не после. – jv42
Привет, я благодарю вас за tipp: Я пробовал 'gcc opencl_hello_world.c -I/home/myuseraccount/Documents/projects/opencl/NVIDIA_GPU_Computing_SDK -L/usr/local/cuda/lib -lOpenCL', но ошибка по-прежнему : '../OpenCL/common/inc/CL/cl.h: нет такого файла или каталога'. Я думаю, я забыл что-то глупое. – Framester