2016-01-26 4 views
0

Je suis en train de compiler un simple programme "hello world" sous Windows 7 en utilisant OpenCL dans Visual Studio 2015 en C++. À essayer de construire, je reçois cette erreur:Erreur fatale AMD OpenCL: CL/cl.hpp: Aucun fichier ou répertoire

Cannot open include file: 'CL/cl.hpp': No such file or directory 

J'ai cherché différentes solutions, et ils disent tous

"make sure the path is correct".

Mes points de chemin au bon endroit (AMDAPPSDKROOT pointant vers C:\Program Files (x86)\AMD APP SDK\2.9-1\), à l'intérieur il y a un dossier include, et à l'intérieur il y a le dossier CL contenant toutes les bibliothèques, y compris cl.hpp.

Dans les propriétés du projet, j'ai défini Additional Include Directories pour inclure $(AMDAPPSDKROOT)\include, ce qui me semble l'indiquer à C:\Program Files (x86)\AMD APP SDK\2.9-1\include. J'ai également mis Additional Library Directories pour pointer vers $(AMDAPPSDKROOT)\lib\x86. Alors, pourquoi Visual Studio ne trouve-t-il pas cette fonctionnalité? Je ne comprends vraiment pas la cause de ce problème. Est-ce quelque chose à voir avec l'architecture (j'utilise x86)?

+0

Est-ce que 'AMDAPPSDKROOT' est une variable d'environnement? Avez-vous récemment ajouté cela. Si oui, avez-vous redémarré et réessayé? – drescherjm

+0

À l'intérieur de 'C: \ Program Files (x86) \ AMD APP SDK \ 2.9-1 \ include' existe-t-il un dossier CL? – drescherjm

+0

AMDAPPSDKROOT est une variable d'environnement, je suppose qu'il a été défini lorsque j'ai installé le SDK de [ici] (http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing- app-sdk /), c'est une variable système, pas une variable utilisateur. Je viens de redémarrer et j'ai le même problème. Il y a un dossier CL (et GL) à l'intérieur de C: \ Program Files (x86) \ AMD APP SDK \ 2.9-1 \ include. – Touchdown

Répondre

0

Pas vraiment une "solution" mais si au lieu d'utiliser la variable AMDAPPSDKROOT je pointe simplement les "Additional Include Directories" du projet directement à l'emplacement du fichier, il peut les trouver. Je ne sais pas pourquoi cela ne fonctionnerait pas en utilisant la variable d'environnement, car elle pointe exactement au même endroit.