Lain-Lain

Simbol Ralat Mac tidak ditemui untuk seni bina x86_64

di sana

Poster asal
22 Jul 2016
  • 22 Jul 2016
Hai semua,

Saya sedang mengusahakan projek yang terdiri daripada menyusun aplikasi Windows pada Mac. Aplikasi ini ditulis dalam C++ dengan Qt. Ia terdiri dengan perpustakaan dan projek utama:
http://hpics.li/d8bb2ec
Projek ini menggunakan perpustakaan luaran, ODA, untuk mengurus fail .dwg dan .dgn.
Masalahnya ialah apabila saya menyusun perpustakaan pertama (MdCore), saya mendapat ralat : symbol(s) not found for architecture x86_64.
Pada mulanya saya menambah -stdlib=libstdc++ untuk qmake hujah tetapi Qt menjana saya 0 bait fail, jadi ia bukan penyelesaiannya.
Saya telah mencuba versi perpustakaan ODA yang berbeza: 32bit, 64bit untuk OSX 10.7 dan 10.11. (Mac saya menggunakan OSX 10.11)
Saya membuat arahan 'fail' pada perpustakaan saya dan di sini output:

:
.a: perpustakaan rawak arkib semasa

.dylib:
Perduaan universal Mach-0 dengan 2 seni bina
(untuk seni bina x68_64): Mach-0 64-bit pustaka kongsi yang dipautkan secara dinamik x86_64
(untuk seni bina i386): Perpustakaan kongsi i386 yang dipautkan secara dinamik Mach-0

Saya telah cuba untuk menyusun pada 32 dan 64bit tetapi ia tidak mengubah apa-apa. Saya menghadapi masalah ini selama dua minggu, saya tidak tahu apa yang boleh saya lakukan

Saya telah membuat topik di forum Qt mungkin anda boleh mendapatkan maklumat lanjut:
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
Jika seseorang mempunyai petunjuk atau penyelesaian saya akan berminat

Terima kasih! C

cqexbesd

4 Jun 2009


Jerman
  • 22 Jul 2016
Saya tidak tahu apa-apa tentang qmake tetapi mungkin anda hanya perlu menyiarkan arahan pengkompil anda untuk disusun dan mungkin seseorang akan dapat melihat apa yang salah.

di sana

Poster asal
22 Jul 2016
  • 22 Jul 2016
hai cqexbesd, terima kasih atas jawapan anda, inilah permulaan output binaan :

17:34:10: Mulakan : '/Users/developpement/Qt/5.7/clang_64/bin/qmake' /Users/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG+=debug CONFIG+= x86_64 CONFIG+=qml_debug

17:34:10: Proses '/Users/developpement/Qt/5.7/clang_64/bin/qmake' telah selesai seperti biasa

17:34:10: Mulakan : '/usr/bin/make'

... C

cqexbesd

4 Jun 2009
Jerman
  • 24 Jul 2016
Apa yang saya maksudkan ialah qmake hanyalah alat untuk memanggil pengkompil. Bolehkah anda mencari baris di mana qmake memanggil pengkompil? Mungkin ia tidak memanggilnya dengan betul atau perkara akan berfungsi. Ia sekurang-kurangnya tempat untuk bermula.

di sana

Poster asal
22 Jul 2016
  • 25 Jul 2016
Saya fikir ia ada di sini:
Kod: |_+_|
dalam output kompilasi saya, saya mempunyai baris tersebut beberapa kali, tetapi hanya baris terakhir yang berubah (nama fail berubah)

Edit : berikut adalah baris yang sama tetapi dengan ruang di antara mereka
Kod: |_+_| Terakhir disunting oleh moderator: 25 Jul 2016 C

cqexbesd

4 Jun 2009
Jerman
  • 25 Jul 2016
Juga harus ada garis penghubung - mis. baris di mana clang++ dipanggil tanpa hujah -c. Ia mungkin berguna jika anda boleh menampal pautan ke keseluruhan output sebenarnya.

di sana

Poster asal
22 Jul 2016
  • 26 Jul 2016
Saya tidak fikir ia mungkin untuk menukar hujah pengkompil. Saya boleh melakukannya dengan gesaan.
Berikut ialah output penuh (ia sangat sangat panjang! 100,000 baris): http://textup.fr/171939hC


Edit : Saya menyusun dengan gesaan supaya saya mempunyai lebih banyak baris pada output, dan baris terakhir adalah menarik:


Simbol yang tidak ditentukan untuk seni bina x86_64:

Kod: |_+_| Terakhir disunting oleh moderator: 26 Jul 2016 C

cqexbesd

4 Jun 2009
Jerman
  • 26 Jul 2016
Saya fikir output 100K untuk binaan daripada apa-apa sahaja tetapi sistem yang paling rumit mungkin merupakan petanda bahawa perkara telah menjadi salah di suatu tempat - tetapi itu adalah ulasan yang lebih umum tentang keadaan industri.

Kembali kepada masalah khusus anda. Saya tidak nampak ralat pemautan yang anda siarkan dalam 'output penuh' namun ini nampaknya hanya ralat pemaut biasa. Seperti pada platform lain, anda boleh menggunakan nm (atau Google) untuk mencari di mana simbol tersebut ditakrifkan dan ia nampaknya berada dalam /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation untuk saya (tetapi saya mempunyai mac lama jadi ia mungkin tidak benar untuk anda).

Anda tidak akan memaut ke perpustakaan itu secara langsung. Cuba tambah Kod: |__+_| kepada bendera pemaut anda.

di sana

Poster asal
22 Jul 2016
  • 27 Jul 2016
Ya, kamu betul !! Terima kasih banyak saya boleh menyusun sekarang! Saya menghadapi masalah ini selama 3 minggu! Terima kasih banyak-banyak ! DENGAN

zibby

5 Feb 2019
  • 5 Feb 2019
cqexbesd berkata: Saya rasa 100K keluaran untuk binaan daripada apa-apa sahaja tetapi sistem yang paling rumit mungkin merupakan petanda bahawa perkara telah menjadi salah di suatu tempat - tetapi itu adalah ulasan yang lebih umum tentang keadaan industri.

Kembali kepada masalah khusus anda. Saya tidak nampak ralat pemautan yang anda siarkan dalam 'output penuh' namun ini nampaknya hanya ralat pemaut biasa. Seperti pada platform lain, anda boleh menggunakan nm (atau Google) untuk mencari di mana simbol tersebut ditakrifkan dan ia nampaknya berada dalam /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation untuk saya (tetapi saya mempunyai mac lama jadi ia mungkin tidak benar untuk anda).

Anda tidak akan memaut ke perpustakaan itu secara langsung. Cuba tambah Kod: |__+_| kepada bendera pemaut anda.
DENGAN

zibby

5 Feb 2019
  • 5 Feb 2019
hai semua ... saya telah menghadapi masalah yang hampir sama...tetapi saya menggunakan terminal untuk menyusun...bolehkah seseorang membantu bagaimana saya boleh melakukan penyelesaian yang sama sekiranya terminal?

saya mempunyai fail ./configure sedia dan ia berjalan lancar tetapi saya mendapat ffi... 'simbol tidak ditemui ...' berkaitan dan ada kaitan dengan penyambung apabila saya menjalankan make

okieiam

17 Dis 2016
  • 8 Feb 2019
zibbi berkata: hai semua ... saya telah menghadapi masalah yang hampir sama...tetapi saya menggunakan terminal untuk menyusun...bolehkah seseorang membantu bagaimana saya boleh melakukan penyelesaian yang sama sekiranya terminal?

saya mempunyai fail ./configure sedia dan ia berjalan lancar tetapi saya mendapat ffi... 'simbol tidak ditemui ...' berkaitan dan ada kaitan dengan penyambung apabila saya menjalankan make
env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure