27 votes

Xcode refuse de construire un de mes OpenCL projets mais qui construit un autre succès

J'ai deux projets dans Xcode, ils utilisent tous les deux OpenCL, et cl.hpp - OpenCL emballages pour le C++.

Je suis sur Mac OS 10.11.4. de, à l'aide de clang-703.0.29 version 7.3.0 et la dernière (et assez bizarre) version de Xcode (Version 7.3 (7D175)).

Le premier projet se compile et s'appuie très bien. Le résultat de l'accumulation est une bibliothèque statique (.a le fichier). Le second utilise cette bibliothèque (je suis juste du copier-coller de la lib et les en-têtes dans ce répertoire du projet). Je suis également un lien entre OpenCL.framework avec ce projet.

Le problème, c'est le deuxième projet de ne pas construire. Il dit:

CGLTypes.h - Manquant", " entre les agents recenseurs

Cette erreur est à la ligne 75:

kCGLPFAStereo OPENGL_ENUM_DEPRECATED(10_0, 10_11)        =   6,

C'est la seule erreur que j'obtiens. Cela se produit lorsqu' cl.hpp inclut OpenCL/opencl.h qui inclut OpenCL/cl_gl_ext.h avec #include <OpenGL/CGLTypes.h> en elle.

La Base SDK est réglé à plus tard (OS X 10.11). Exactement le même problème s'est produit ici, mais il a été résolu par une mise à jour OS. Ma version de Mac OS est déjà la plus récente, donc je ne peux pas faire cela.

Pour résumer, le problème est que les deux projets utilisent la même version de l'OpenCL, sont construits sur la même machine avec les mêmes paramètres, le même compilateur, etc, mais l'un d'eux ne se compile pas.

Edit: voici un lien vers le premier projet: la Matrice sur GitHub. Je vais essayer d'ajouter le second dès que possible. En fait, c'est une ANN qui utilise la Matrice de faire des opérations avec des matrices. La seule chose que je fais c'est d'inclure cl.hpp et tous les .hpps à partir de la Matrice. Je suis aussi tenté de faire le lien avec l' .a de la Matrice de la bibliothèque, mais le processus de construction n'a même pas d'arriver à cette phase.

Que dois-je faire pour corriger cela?

5voto

ForceBru Points 9725

Eh bien, le problème était que la deuxième ("brisées"), un projet a l'aide de l'ancienne version de Xcode tools (CreatedOnToolsVersion = 7.1) pour une raison quelconque. Le premier a été construit avec CreatedOnToolsVersion = 7.3;.

Si je construire la Matrice sans prise en charge OpenCL et lien le deuxième projet avec le générés .a bibliothèque, tout marche bien, le problème a été clairement avec OpenCL et différente CreatedOnToolsVersion paramètres.

Le problème a été résolu par la création d'un nouveau projet et de copier les fichiers.

Un merci spécial à @Yakk pour leurs suggestions dans les commentaires!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X