2012-07-30 27 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) 

GÜNCELLEME çoğaltmak: Bağlayıcı Komut çıkış kodu 1 ile başarısız oldu: simge

okunabilmesi

eklendi \ + yeni satır hiçbir ipucu Projemle sorunun ne var, herkes yardımcı olabilir? başlık double _velocityX olmalıdır .c dosyaların extern double _velocityX ve tam olarak bir gerekirken

+1

:

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

Ben benim Menu.m değişti : linker "_velocityX" sembolünün iki nesnede tanımlandığından şikayetçidir: ".../Objects-normal/i386/Level2ViewController.o" ve ".../Objects-normal/i386/Level1ViewController. o Belki nesneyi linker-invocation üzerinde iki kere mi belirlediniz? Ya da bir .C dosyası eklediniz? Yoksa etrafta yüzen eski nesneler var mı? – wildplasser

cevap

1

Muhtemelen hem Level1ViewController.c ve Level2ViewController.c tarafından bulunan bir üstbilgi dosyasında double _velocityX var. (_velocityX türünün double türünün makul olduğunu düşünürsek ve bunun da C veya C++ olduğunu ve Fortran veya bir şey olmadığını varsayarsak).

22

Aynı problem yaşadım. Ama benim hatamdı. :). #import file.h yerine #import file.m yazabilirsiniz. Yani Compiles Resource sembol dosyasını kopyalayacaktır. - İşte bu kadar! ^^ Görmek için, bu hata dosyasını kaldırın, -> Hata satırını göster -> sonra da yeniden yazın.

+1

haha ​​... ne kadar aptal :) bunun için teşekkürler. Bu yazım hatası fark etmezdim. – d2burke

+1

@bao bunu çivilenmiş! –

+1

Bu benim de problemimdi. Çok teşekkürler. – Ali

1

Birkaç çerçeveyi uygulamamla bütünleştirmeye çalışırken aynı hatayı yaşıyordum.

Önce Sparrow - bir grafik kitaplığı kullanıyordum ve varsayılan olarak bir main.m dosyası vardı, FacebookSDK'ya da bağlı olan Parse'yi entegre etmeye çalışıncaya kadar işler iyiydi. FacebookSDK klasörleri içinde benim main.m ile Scrumptious adında bir Örnek uygulaması da benim sorunların kaynağı oldu. Örnek uygulamalar dizini kaldırdım ve her şey iyi oluşturuldu.

2

Aynı hatayı aldım, çünkü iki ayrı .m dosyasında aynı ada sahip bir sabit tanımladım. Bir keresinde ismi değiştirdiğimde, derlenmişti.

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

ve benim Menu.m içinde:

benim ViewController.m Örneğin ben Eh

#import "Menu.h" 
const int IPHONE4H = 480; 
İlgili konular