2012-08-24 15 views

Respuesta

23

Asegúrese de que todos los archivos de código fuente de su proyecto tengan la extensión de archivo .mm y no .m. O establezca el tipo de cada archivo .m en Objective-C++.

+0

sino por defecto Xcode crear el archivo .m y todos mis archivos es .m –

+0

cambio la extensión de archivo .m a .mm pero solo esos archivos que me crearon. aquí hay muchos archivos od cocos2d que se encuentran con .m –

1

cambio de su archivo de extensión .mm eso es todo

0

Cambio de extensión en Xcode 4 no va a funcionar. En su lugar, vaya a la configuración de compilación (pestaña) y cambie la configuración de la biblioteca estándar de C++ a libC++ (LLVM ...) desde el compilador predeterminado.

Si lo compila ahora recibirá un mensaje de error diciendo que la aplicación no es compatible con iOS 5 o posterior. Vaya al resumen (pestaña) y cambie el destino de implementación a 5.0. Ahora debe construir con éxito.

+0

Esto no funciona para Xcode 5. – Dalmazio

0

Así es como solucioné el problema. Limpiar y recrear el proyecto no me pareció una buena idea.

Hay un par de respuestas en la web para este problema pero en cada una de ellas no me ayudaron a resolver el problema. Uno de ellos es el SO en

cassert file not found but i use Box2d template y el otro es en el foro cocos2d-iPhone,

http://www.cocos2d-iphone.org/forums/topic/cannot-include-box2d-cassert-file-not-found-despite-every-file-being-mm/

La combinación de las dos sugerencias tipo de trabajado para mí -

  1. renombrar todos sus (no archivos cocos2d o box2d, solo sus archivos de proyecto) de .m a .mm
  2. Asegúrese de que en cada uno de los archivos, a la derecha pa ne, opción “Type” está ajustado a “Default - Objetivo C++ Fuente”

Había otro problema para mí en concreto, puede no ser un problema para usted, yo estaba usando la siguiente firma para CCLabelTTF

CCLabelTTF *title = [CCLabelTTF labelWithString:@"Hello" dimensions:CGSizeMake(720.0f, 880.0f) alignment:UITextAlignmentLeft fontName:@"Arial" fontSize:34]; 

Esto está en desuso y ha causado errores por todo el lugar. Ahora estoy usando la siguiente versión ligeramente modificada y los errores fijos -

CCLabelTTF *title = [CCLabelTTF labelWithString:@"Hello" dimensions:CGSizeMake(720.0f, 880.0f) hAlignment:kCCTextAlignmentRight fontName:@"Arial" fontSize:34]; 

Mi más reciente valoración crítica de esta revisión se puede encontrar en - http://indiangamer.com/how-i-fixed-the-cocos2d-box2d-include-file-not-found-error/

Cuestiones relacionadas