with sierra open mac con compatible apple 1gb c++ xcode macos opencl

c++ - sierra - Xcode se niega a construir uno de mis proyectos OpenCL pero construye otro exitosamente



opengl mac os sierra (1)

Tengo dos proyectos en Xcode, ambos usan OpenCL y cl.hpp - envoltorios de OpenCL para C ++.

Estoy en Mac OS 10.11.4, usando la versión 7.3.0 de clang-703.0.29 y la última (y bastante extraña) versión de Xcode (versión 7.3 (7D175)).

El primer proyecto compila y construye muy bien. El resultado de una compilación es una biblioteca estática (archivo .a ). El segundo usa esta biblioteca (solo estoy copiando y pegando la biblioteca y los encabezados en el directorio de este proyecto). También estoy vinculando OpenCL.framework con este proyecto.

El problema es que el segundo proyecto no se construye. Dice:

CGLTypes.h - Falta '','' entre enumeradores

Este error está en la línea 75:

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

Es el único error que estoy recibiendo. Esto sucede cuando cl.hpp incluye OpenCL/opencl.h que incluye OpenCL/cl_gl_ext.h con #include <OpenGL/CGLTypes.h> en él.

El SDK base está configurado como Último (OS X 10.11). here se ha producido exactamente el mismo problema, pero se resolvió mediante una actualización del sistema operativo. Mi versión de Mac OS ya es la última, así que no puedo hacer esto.

En resumen, el problema es que dos proyectos usan la misma versión de OpenCL, están construidos en la misma máquina con la misma configuración, el mismo compilador, etc., pero uno de ellos no se compila.

Edición: aquí hay un enlace al primer proyecto: Matrix en GitHub . Intentaré añadir el segundo lo antes posible. De hecho, es una ANN que utiliza Matrix para realizar operaciones con matrices. Lo único que hago es incluir cl.hpp y todos los .hpp de Matrix . También estoy intentando enlazar con la biblioteca .a Matrix , pero el proceso de compilación ni siquiera llega a esta fase.

¿Qué debo hacer para arreglar eso?


Bueno, el problema era que el segundo proyecto (''roto'') estaba usando la versión anterior de las herramientas Xcode ( CreatedOnToolsVersion = 7.1 ) por alguna razón. El primero fue construido con CreatedOnToolsVersion = 7.3; .

Si compilo Matrix sin OpenCL y vinculo el segundo proyecto con la biblioteca .a generada, todo funciona bien, por lo que el problema fue claramente con OpenCL y diferentes configuraciones de CreatedOnToolsVersion .

El problema se resolvió creando un nuevo proyecto y copiando los archivos allí.

Un agradecimiento especial a @Yakk por su sugerencia en los comentarios!