Lainnya

Simbol kesalahan Mac tidak ditemukan untuk arsitektur x86_64

Di sana

poster asli
22 Juli 2016
  • 22 Juli 2016
Hai semuanya,

Saya sedang mengerjakan proyek yang terdiri dari kompilasi aplikasi Windows di Mac. Aplikasi ini ditulis dalam C++ dengan Qt. Itu terdiri dengan perpustakaan dan proyek utama:
http://hpics.li/d8bb2ec
Proyek ini menggunakan perpustakaan eksternal, ODA, untuk mengelola file .dwg dan .dgn.
Masalahnya adalah ketika saya mengkompilasi perpustakaan pertama (MdCore), saya mendapatkan kesalahan: simbol tidak ditemukan untuk arsitektur x86_64.
Pada awalnya saya menambahkan -stdlib=libstdc++ ke argumen qmake tetapi Qt menghasilkan saya file 0 byte, jadi itu bukan solusinya.
Saya telah mencoba versi berbeda dari perpustakaan ODA: 32bit, 64bit untuk OSX 10.7 dan 10.11. (Mac saya menggunakan OSX 10.11)
Saya membuat perintah 'file' di perpustakaan saya dan di sini hasilnya:

:
.a: perpustakaan acak arsip ar saat ini

.dylib:
Biner universal Mach-0 dengan 2 arsitektur
(untuk arsitektur x68_64): Mach-0 64-bit perpustakaan bersama yang terhubung secara dinamis x86_64
(untuk arsitektur i386): Mach-0 perpustakaan bersama yang terhubung secara dinamis i386

Saya telah mencoba mengkompilasi pada 32 dan 64bit tetapi tidak mengubah apa pun. Saya menghadapi masalah ini selama dua minggu, saya tidak tahu apa yang bisa saya lakukan

Saya telah membuat topik di forum Qt mungkin Anda dapat menemukan informasi lebih 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 memiliki petunjuk atau solusi, saya akan tertarik

Terima kasih ! C

cqexbesd

4 Juni 2009


Jerman
  • 22 Juli 2016
Saya tidak tahu apa-apa tentang qmake tetapi mungkin Anda harus memposting apa yang akan dikompilasi oleh perintah kompiler Anda dan mungkin seseorang akan dapat melihat apa yang salah.

Di sana

poster asli
22 Juli 2016
  • 22 Juli 2016
hai cqexbesd, terima kasih atas jawaban Anda, ini adalah awal dari output build:

17:34:10: Begin : '/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 dengan normal

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

... C

cqexbesd

4 Juni 2009
Jerman
  • 24 Juli 2016
Yang saya maksud adalah qmake hanyalah alat untuk memanggil kompiler. Dapatkah Anda menemukan baris di mana qmake memanggil kompiler? Agaknya itu tidak memanggilnya dengan benar atau semuanya akan berfungsi. Setidaknya di suatu tempat untuk memulai.

Di sana

poster asli
22 Juli 2016
  • 25 Juli 2016
Saya pikir di sini:
Kode: |_+_|
dalam keluaran kompilasi saya, saya memiliki baris-baris itu beberapa kali, tetapi hanya baris terakhir yang berubah (nama file berubah)

Sunting: di sini ada baris yang sama tetapi dengan spasi di antaranya
Kode: |_+_| Terakhir diedit oleh moderator: 25 Jul 2016 C

cqexbesd

4 Juni 2009
Jerman
  • 25 Juli 2016
Juga harus ada garis penghubung - mis. baris di mana dentang++ dipanggil tanpa argumen -c. Mungkin berguna jika Anda dapat menempelkan tautan ke seluruh keluaran sebenarnya.

Di sana

poster asli
22 Juli 2016
  • 26 Juli 2016
Saya tidak berpikir itu mungkin untuk mengubah argumen kompiler. Saya dapat melakukannya dengan prompt.
Ini hasil lengkapnya (sangat sangat panjang! 100.000 baris): http://textup.fr/171939hC


Sunting: Saya mengkompilasi dengan Prompt sehingga saya memiliki lebih banyak baris pada output, dan baris terakhir menarik:


Simbol yang tidak ditentukan untuk arsitektur x86_64:

Kode: |_+_| Terakhir diedit oleh moderator: 26 Jul 2016 C

cqexbesd

4 Juni 2009
Jerman
  • 26 Juli 2016
Saya pikir output 100K untuk build dari apa pun kecuali sistem yang paling rumit mungkin merupakan tanda bahwa ada yang tidak beres di suatu tempat - tetapi itu adalah komentar yang lebih umum tentang keadaan industri.

Kembali ke masalah spesifik Anda. Saya tidak melihat kesalahan penautan yang Anda posting di 'output penuh' namun ini terlihat hanya sebagai kesalahan tautan biasa. Seperti pada platform lain, Anda dapat menggunakan nm (atau Google) untuk menemukan di mana simbol-simbol itu didefinisikan dan tampaknya berada di /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation untuk saya (tapi saya punya mac lama jadi mungkin tidak benar untuk Anda).

Anda tidak akan menautkan ke perpustakaan itu secara langsung. Coba tambahkan Kode: |_+_| ke bendera tautan Anda.

Di sana

poster asli
22 Juli 2016
  • 27 Juli 2016
Ya kamu benar !! Terima kasih banyak saya bisa mengkompilasi sekarang! Saya menghadapi masalah ini selama 3 minggu! Terima kasih banyak ! DENGAN

zibby

5 Februari 2019
  • 5 Februari 2019
cqexbesd berkata: Saya pikir 100K output untuk membangun dari apa pun kecuali sistem yang paling rumit mungkin merupakan tanda bahwa ada yang tidak beres di suatu tempat - tetapi itu adalah komentar yang lebih umum tentang keadaan industri.

Kembali ke masalah spesifik Anda. Saya tidak melihat kesalahan penautan yang Anda posting di 'output penuh' namun ini terlihat hanya sebagai kesalahan tautan biasa. Seperti pada platform lain, Anda dapat menggunakan nm (atau Google) untuk menemukan di mana simbol-simbol itu didefinisikan dan tampaknya berada di /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation untuk saya (tapi saya punya mac lama jadi mungkin tidak benar untuk Anda).

Anda tidak akan menautkan ke perpustakaan itu secara langsung. Coba tambahkan Kode: |_+_| ke bendera tautan Anda.
DENGAN

zibby

5 Februari 2019
  • 5 Februari 2019
hai teman-teman ... saya mengalami masalah yang sangat mirip ... tetapi saya menggunakan terminal untuk mengkompilasi ... adakah yang bisa membantu saya tentang bagaimana saya bisa melakukan solusi yang sama dalam kasus terminal?

saya memiliki file ./configure yang siap dan berjalan dengan lancar tetapi saya mendapatkan ffi ... terkait 'simbol tidak ditemukan ...' dan sesuatu yang berkaitan dengan tautan ketika saya menjalankan make

okieam

17 Desember 2016
  • 8 Februari 2019
zibbi berkata: hai teman-teman ... saya mengalami masalah yang sangat mirip ... tetapi saya menggunakan terminal untuk mengkompilasi ... dapatkah seseorang tolong bantu tentang bagaimana saya dapat melakukan solusi yang sama dalam kasus terminal?

saya memiliki file ./configure yang siap dan berjalan dengan lancar tetapi saya mendapatkan ffi ... terkait 'simbol tidak ditemukan ...' dan sesuatu yang berkaitan dengan tautan ketika saya menjalankan make
env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure