He actualizado proyecto de Xcode 5 y los módulos activos en la configuración de generación.
Sin embargo, veo error del compilador Unexpected '@' in program cuando yo uso @import.

#ifndef __IPHONE_7_0
#warning "This project uses features only available in iOS SDK 7.0 and later."
#endif

#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif

#ifdef __OBJC__
@import SystemConfiguration;
@import UIKit;

Es cualquier otra cosa que se debe de hacer?

  • agregue el código donde puede usar @import
InformationsquelleAutor Shmidt | 2013-10-09

4 Comentarios

  1. 64

    A partir de la observación de @hw731 creo que uso mal @import :

    sintaxis antigua importar marco :

    #import <UIKit/UIKit.h>

    pero ahora, usted puede utilizar la nueva sintaxis :

    @import UIKit;

    necesita habilitar la tesis de módulos a utilizar la palabra clave @import (se activa por defecto al crear un nuevo proyecto con Xcode 5) :

    @import

    Tener una mirada aquí.

    • No, yo uso correcto de @import UIKit; Estos ajustes también se establecen.
    • El problema era que yo uso el espacio de trabajo, y el segundo proyecto ocasionalmente perdido su módulo de configuración.
    • Esto funcionó para mí. Tengo un proyecto que se inició en el iPhone OS 2.0 y este fue establecida en NO. Gracias!
    • Esto funciona bien, los proyectos de migración de pre Xcode5
  2. 12

    Tengo el mismo error, comprueba el estándar lugares:

    • Sí, tengo el código correcto de la sintaxis
    • Sí, todos los «Apple LLVM 5.0 – Idiomas – Módulos de» ajustes SÍ. Tanto en este proyecto y cada uno de sus objetivos.
    • Sí, estoy usando un área de trabajo, pero comprobar que todos los proyectos han permitido a los Módulos. Ambos proyectos y cada uno de sus objetivos.
    • Sí, comprobado yo no tengo ningún divertido «inteligente» de las cotizaciones en cualquier lugar
    • Sí, comprueba que estoy en un encabezado.h o archivo.m archivo (no .mm/.c/.cpp/.hpp)

    El problema era que el archivo de encabezado se importados en el archivo.mm archivo, que no parecen apoyar la nueva @import módulo de sintaxis! Convertido el encabezado de nuevo a viejo estilo #formato de importación y que todo estaba bien de nuevo.

    • Yo también tengo algunos .mm archivos de C++ (Protocol Buffers). Me convertí de nuevo a la vieja sintaxis con #import en el .archivo pch. Todo se compila bien ahora.
  3. 5

    Yo también encontró que el uso de código siguiente en el archivo pch:

    #ifdef __cplusplus
    #import <opencv2/opencv.hpp>
    #endif

    no son compatibles con @import.

  4. 0

    Mismo problema cuando me subclase UIActivity y de escritura de propiedad .m archivo como

    @property(nonatomic, strong)NSArray *activityItems;

    fijo por el movimiento de esta propiedad .h archivo.

Dejar respuesta

Please enter your comment!
Please enter your name here