2012-08-24 11 views

risposta

23

Assicurarsi che tutti i file del codice sorgente del progetto abbiano l'estensione del file .mm e non .m. O imposta ogni tipo di file .m in Objective-C++.

+0

ma da Xcode impostazione predefinita creare il file .m e tutti i miei file is .m –

+0

ho cambiato l'estensione .m in .mm ma solo quei file che sono stati creati. ecco un sacco di file cocos2d trovati con.m –

1

modificare il file di estensione .mm questo è tutto

0

Cambiare estensione in Xcode 4 non funzionerà. Invece vai a costruire le impostazioni (scheda) e modifica l'impostazione della libreria standard C++ a libC++ (LLVM ...) dal predefinito del compilatore.

Se lo si genera ora si otterrà un errore nel dire che l'app non è compatibile con iOS 5 o versioni successive. Quindi vai al sommario (scheda) e modifica il target di implementazione su 5.0. Ora dovrebbe creare con successo.

+0

Questo non funziona per Xcode 5. – Dalmazio

0

Ecco come ho risolto il problema. Ripulire e ricreare il progetto non mi è sembrato una buona idea.

Ci sono un paio di risposte sul web per questo problema, ma non mi hanno aiutato a risolvere il problema. Uno è il SO

cassert file not found but i use Box2d template e l'altro è il cocos2d-iphone forum,

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

Combinando i due suggerimenti tipo di lavorato per me -

  1. rinominare tutti i (non file cocos2d o box2d, solo i file di progetto) da .m a .mm
  2. Assicurarsi che su ciascuno dei file, sul pa destro ne, l'opzione “Tipo” è impostato su “Default - Obiettivo C++ Source”

C'era un altro problema per me in particolare, non può essere un problema per voi, stavo usando la seguente firma per CCLabelTTF

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

Questo è deprecato e ha provocato errori in tutto il luogo. Ora sto usando la seguente versione leggermente modificata e gli errori fisse -

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

La mia più recente resoconto scritto di questa correzione è disponibile all'indirizzo - http://indiangamer.com/how-i-fixed-the-cocos2d-box2d-include-file-not-found-error/