2013-06-16 6 views
11

sto lavorando con questo file utils.c in Xcode, che ha il seguente:Previsto; dopo dichiaratore livello superiore, l'errore in Xcode

#if FF_API_AVCODEC_OPEN 
    int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec) 
    { 
     return avcodec_open2(avctx, codec, NULL); 
    } 

E 'causando un Expected ; after top level declarator, errore (durante la costruzione) in Xcode in questa linea: int attribute_align_arg avcodec_open(....

Perché? e cosa dovrei fare per risolvere questo.

Grazie.

+2

Sembra che "attribute_align_arg' non sia stato definito. Devi includere il file di intestazione appropriato che secondo Google è 'libavutil/internal.h' –

+0

Se la soluzione di @ CaptainObvlious non lo è, quali sono le righe sopra il codice che hai fornito? – xaxxon

+0

@Captain Obvlious, 'libavutil/internal.h' è incluso nei percorsi dell'intestazione xcodes. L'errore non riguarda la definizione di un oggetto, né un file '.h' infondato. Riguarda (penso) che xcode stia aspettando un ';' subito dopo 'int attribute_align_arg' nell'istruzione sopra. – cube

risposta

38

Mi sono imbattuto in questo errore quando si utilizza il completamento automatico.

Quando si inserisce il parametro di una funzione, XCode inserirà segnaposti che devono essere modificati ma mostrati come C++ completamente valido nella GUI.

Mi c'è voluto qualche ora fino a quando ho controllato il mio file in un altro editor, rivelando che al posto del previsto:

vuoto func (int a)

XCode aveva effettivamente inserito

vuoto func (< #INT un #>)

Nell'editor XCode il parametro viene visualizzato come int a con uno sfondo blu chiaro, quindi non è facile individuare la fonte dell'errore del compilatore.

+0

Grazie Ha aiutato :) – SpiXel

+2

Incredibile! Non sembrava un segnaposto – cowls

+1

Ho fatto un taglio n 'incolla e ho ottenuto qualcosa di simile. Ci devono essere stati dei personaggi speciali lì dentro. Ho cancellato, ridigitato e l'errore è andato via :) – kmiklas

Problemi correlati