2012-07-30 15 views
11
ld: duplicate symbol _velocityX in \ 
/Users/Student/Library/Developer/Xcode/DerivedData/finalproject-ffzevekmatxvhrgisgeleoijyllr/Build/Intermediates/finalproject.build/Debug-iphonesimulator/finalproject.build/Objects-normal/i386/Level2ViewController.o \ 
and \ 
/Users/Student/Library/Developer/Xcode/DerivedData/finalproject-ffzevekmatxvhrgisgeleoijyllr/Build/Intermediates/finalproject.build/Debug-iphonesimulator/finalproject.build/Objects-normal/i386/Level1ViewController.o \ 
for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

UPDATE: aggiunti \ + a capo di leggibilitàLinker Comando non riuscito con il codice di uscita 1: duplicare simbolo

ho idea di ciò che è sbagliato con il mio progetto, chiunque può aiutare?

+1

Bene : il linker si lamenta che il simbolo "_velocityX" è definito in due oggetti: ".../Objects-normal/i386/Level2ViewController.o" e ".../Objects-normal/i386/Level1ViewController. o "Forse hai specificato l'oggetto due volte sul richiamo del linker? O hai incluso un file .C? O hai oggetti stanti in giro? – wildplasser

risposta

1

Probabilmente hanno double _velocityX in un file di intestazione incluso sia Level1ViewController.c e Level2ViewController.c, quando l'intestazione dovrebbe avere extern double _velocityX, e esattamente un dei file .c dovrebbe avere double _velocityX. (Supponendo che il tipo di _velocityX sia double, che sembrava ragionevole, e anche supponendo che sia C o C++ e non Fortran o qualcosa del genere).

22

Ho avuto lo stesso problema. Ma è stata colpa mia. :). Potresti aver scritto un #import file.m anziché #import file.h. Quindi Compiles Resource duplica il file symbol.o. - Tutto qui! ^^ Per vederlo, rimuovi quel file di errore, crea -> Mostra riga errore -> quindi ricopia.

+1

haha ​​... che sciocco :) grazie per questo. non avrei mai notato questo errore di battitura. – d2burke

+1

@bao l'hai inchiodato! –

+1

Anche questo era il mio problema. Molte grazie. – Ali

1

Mi sono imbattuto in questo stesso errore durante il tentativo di integrare alcuni framework nella mia app.

Prima stavo usando Sparrow - una libreria grafica, e per default avevo un file main.m, le cose andavano bene fino a quando ho provato ad integrare Parse che dipendeva anche da FacebookSDK. All'interno delle cartelle di FacebookSDK c'è un'app di esempio chiamata Scrumptious con un main.m che era la fonte dei miei problemi. Ho rimosso la directory delle app di esempio e tutto ha funzionato correttamente.

2

Ho avuto lo stesso errore, perché ho definito una costante con lo stesso nome in due file .m separati. Una volta che ho cambiato il nome in uno di questi, è stato compilato.

Per esempio nel mio ViewController.m ho avuto:

#import "ViewController.h" 
const int IPHONE4 = 480; 

e nel mio Menu.m:

#import "Menu.h" 
const int IPHONE4 = 480; 

ho cambiato il mio Menu.m a:

#import "Menu.h" 
const int IPHONE4H = 480; 
Problemi correlati