it-swarm.dev

Simbol yang tidak terdefinisi untuk arsitektur x86_64 pada Xcode 6.1

Xcode tiba-tiba membuat saya kesalahan ini pada waktu kompilasi: 

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Format", referenced from:
 objc-class-ref in WOExerciseListViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Setelah melakukan riset, saya mungkin mengerti bahwa perpustakaan yang saya gunakan tidak kompatibel dengan versi 64 bit. Tapi ini sangat aneh karena saya sudah bekerja dengan perpustakaan yang sama setidaknya selama seminggu tanpa memiliki masalah kompilasi tunggal selama waktu itu. Dua perpustakaan hanya terdiri dari sekelompok kelas, dan ketika saya menghapusnya dari proyek saya, saya mendapatkan masalah yang sama. Karena saya belum pernah membuat perpustakaan sendiri, saya tidak tahu bagaimana saya bisa menemukan apakah yang saya gunakan kompatibel dengan 64 bit (?) Saya juga mencoba perubahan berikut untuk arsitektur di bawah panel target: 

  • menambahkan $ (ARCHS_STANDARD_INCLUDING_64_BIT) ke Arsitektur
  • bangun arsitektur aktif saja -> setel ke 'TIDAK' 
  • untuk 'arsitektur yang valid' -> disetel ke arm64, armv7 dan armv7s
  • menghapus folder DerivedData dan isinya, dibersihkan dan dibangun kembali 

Tapi tidak ada perubahan yang berhasil. Tolong, apakah ada yang tahu tentang ini? Terima kasih 

35
batistomorrow

Rupanya, "Format" kelas Anda terlibat dalam masalah. Periksa deklarasi Anda tentang kelas ini, terutama jika Anda melakukannya di dalam kelas lain, Anda mungkin lupa @ implementation atau yang serupa.

41
Banane

Periksa apakah file itu termasuk dalam Build Phases -> Compiled Sources

38
user3894518

Pastikan WOExerciseListViewController adalah Anggota Target; itu berhasil untuk saya!

enter image description here

19
Youssef Gamil

Saya baru saja mengalami kesalahan ini ketika saya membuka proyek lama (cukup), dibuat di Xcode 4 ~ ish, di Xcode 6.4. Sementara Kerangka yang ditautkan terlihat di sidebar Proyek, saya mengabaikan bahwa tidak ada tidak ada pustaka yang ditautkan di tab Target Build Phases . Setelah saya memperbaikinya, itu dikompilasi dengan baik. 

4
auco

Ya, saya pikir perpustakaan yang Anda gunakan tidak kompatibel dengan versi 64 bit tetapi Anda dapat menyelesaikan masalah - 

Cukup arahkan ke Build Settings> Arsitektur & ganti $(ARCHS_STANDARD) menjadi $(ARCHS_STANDARD_32_BIT) 

Sehingga xcode Anda membangun proyek Anda dengan versi yang didukung 32 bit.

4
Nishant Mahajan

Saya tidak menghubungkan perpustakaan di bagian "Tautan Biner dengan Perpustakaan".

2
Alberto M

Saya memecahkan masalah yang sama dengan pergi ke Pengaturan Xcode Build dan di Arsitektur, saya mengubah .__ arsitektur standar Xcode 6.1.1 untuk:

$ (ARCHS_STANDARD_32_BIT)

1
Hemanshu Liya

Ternyata saya lupa menulis bagian @implementation saya.

1
chengbo

Saya baru saja mengalami kesalahan yang sama persis, dan menyelesaikannya dengan me-restart xcode.

Bagi saya masalah terjadi setelah pembaruan svn, file tersebut ditambahkan ke folder proyek, tetapi tidak pernah muncul di xcode (9.3.1) - sampai saya memulai kembali.

0
Seif Meddeb

Saya memecahkan masalah dengan menghapus referensi ke file dan menambahkannya lagi dalam proyek. Dalam kasus saya ini berfungsi.

0
Nikita Teplyakov

Kesalahan yang sama ketika saya menyalin/menempel kelas dan lupa untuk mengganti nama dalam file .m.

0
zeeawan