Fichiers d'en-tête lié à partir de l'en-tête du fichier est introuvable.

J'ai un problème avec Nvidia OpenCl/Cuda cadre, mais je pense que c'est un gcc reliant question.

La opencl_hello_world.c exemple de fichier utilise des fichier en-tête suivante:

#include "../OpenCL/common/inc/CL/opencl.h"

avec opencl.h à l'aide de ces fichiers d'en-tête:

#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>

De sorte que tous les fichiers d'en-tête sont dans le même dossier.

Quand j'ai compiler avec gcc opencl_hello_world.c -std=c99 -lOpenCL je reçois des messages d'erreur suivants:

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
...

Même si cl.h et les autres fichiers d'en-tête se trouvent dans ce dossier.

Après avoir cherché SI, j'ai ensuite changé le comprend dans le opencl.h à

   #include "cl.h"
   #include "cl_gl.h"

comment j'ai lu ici: gcc ne Peut pas Trouver un Inclus l'en-Tête.

Mais de déconner avec les cadres de fichiers d'en-tête ne semble pas être la voie à suivre? Quelle serait la bonne façon de gérer ce problème?

OriginalL'auteur Framester | 2010-09-08