Αλλα

Mac Πώς να αποφύγω τα «Μη καθορισμένα σύμβολα για την αρχιτεκτονική x86_64»;

mikezang

προς το
Πρωτότυπη αφίσα
22 Μαΐου 2010
Τόκιο, Ιαπωνία
  • 25 Ιουλίου 2015
Προσπάθησα να δημιουργήσω ένα cross compile για το παλιό μου Lego RCX, χρησιμοποιώ το GCC 3.3.6 και το NEWLIB 1.13.
Κωδικός: |_+_|
Όταν το κάνω, επιτέλους έλαβα σφάλμα όπως παρακάτω, τι μπορώ να κάνω;
Κωδικός: |_+_|

Madd the Sane

προς το
8 Νοεμβρίου 2010


Γιούτα
  • 2 Αυγούστου 2015
Αυτό που συμβαίνει είναι ότι ο σύνδεσμος του OS X δεν μπορεί να βρει την καθορισμένη λειτουργία σε οτιδήποτε προσπαθεί να συνδέσει. Ο λόγος για αυτό μπορεί να είναι μια μακροεντολή προεπεξεργαστή που λείπει ή ο μεταγλωττισμένος κώδικας και/ή η βιβλιοθήκη δεν συνδέονται.

mikezang

προς το
Πρωτότυπη αφίσα
22 Μαΐου 2010
Τόκιο, Ιαπωνία
  • 4 Αυγούστου 2015
Ο Madd the Sane είπε: Αυτό που συμβαίνει είναι ότι ο σύνδεσμος του OS X δεν μπορεί να βρει την καθορισμένη λειτουργία σε οτιδήποτε προσπαθεί να συνδέσει. Ο λόγος για αυτό μπορεί να είναι μια μακροεντολή προεπεξεργαστή που λείπει ή ο μεταγλωττισμένος κώδικας και/ή η βιβλιοθήκη δεν συνδέονται.
Ευχαριστώ για το μήνυμά σου! μπορείτε να μου πείτε πώς να λύσω αυτό το πρόβλημα; ντο

cqexbesd

4 Ιουνίου 2009
Γερμανία
  • 4 Αυγούστου 2015
mikezang είπε: Ευχαριστώ για το μήνυμά σας! μπορείτε να μου πείτε πώς να λύσω αυτό το πρόβλημα;

Υποθέτω μόνο εδώ, αλλά νομίζω ότι ίσως χρειαστεί να έχετε εγκαταστήσει το gperf. Στη συνέχεια, ξεκινήστε τη δημιουργία από την αρχή - δηλαδή κάντε distclean ή παρόμοια - ή απλώς διαγράψτε τον κατάλογό σας και αναπτύξτε ξανά το αρχείο tar.

Cromulent

2 Οκτωβρίου 2006
Η Χώρα της Ελπίδας και της Δόξας
  • 4 Αυγούστου 2015
mikezang είπε: Ευχαριστώ για το μήνυμά σας! μπορείτε να μου πείτε πώς να λύσω αυτό το πρόβλημα;

Φαίνεται ότι χρησιμοποιείτε λάθος GCC.

Είτε πληκτρολογήστε πλήρη διαδρομή προς το GCC 3.3.6 είτε προσθέστε το στη διαδρομή με διαφορετικό όνομα από το GCC (επειδή η Apple παρέχει ήδη μια εντολή GCC που τυγχάνει να εκτελεί clang). Αυτός είναι ο λόγος που έχετε το ακόλουθο σφάλμα:

ld: σύμβολο(α) δεν βρέθηκαν για την αρχιτεκτονική x86_64

clang: σφάλμα: η εντολή σύνδεσης απέτυχε με τον κωδικό εξόδου 1 (χρησιμοποιήστε -v για να δείτε την επίκληση)

Στην πραγματικότητα τρέχετε το Clang που μεταγλωττίζεται σε x86_64. Πρέπει να εκτελέσετε το GCC που έχετε μεταγλωττίσει. Κανονικά κατά τη μεταγλώττιση του GCC ως cross compiler, του δίνετε ένα διαφορετικό όνομα από το GCC (το οποίο είναι μία από τις επιλογές διαμόρφωσης σεναρίου για το GCC κατά τη μεταγλώττιση), ώστε να μπορείτε να διακρίνετε τη διαφορά μεταξύ του GCC που παρέχεται από το σύστημα και του δικού σας GCC cross μεταγλωττιστής.

mikezang

προς το
Πρωτότυπη αφίσα
22 Μαΐου 2010
Τόκιο, Ιαπωνία
  • 4 Αυγούστου 2015
cqexbesd είπε: Φαντάζομαι μόνο εδώ, αλλά νομίζω ότι ίσως χρειαστεί να εγκαταστήσετε το gperf. Στη συνέχεια, ξεκινήστε τη δημιουργία από την αρχή - δηλαδή κάντε distclean ή παρόμοια - ή απλώς διαγράψτε τον κατάλογό σας και αναπτύξτε ξανά το αρχείο tar.
Μεγάλος! Χθες το βράδυ βρήκα αυτή τη σελίδα http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , το σφάλμα εξαφανίστηκε αφού το ακολουθήσετε.