Sto provando a programmare una classe di grafico usando un elenco adiacente da un esempio nel mio libro di testo C++ e quando compilo usando questo comando: Codice: g ++ -o prog program.cpp ... Ottengo il errore seguente:Che cosa significa l'errore in fase di compilazione "Simboli indefiniti per architettura x86_64"?
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
... che cosa significa questo nel mondo? Potrebbe rivelarsi un problema con il mio codice, ma credo che potrebbe essere più profondo di così, perché ho ottenuto lo stesso errore apparentemente inspiegabile per diversi progetti, molti dei quali sono stati risolti in modi diversi e, sfortunatamente, completamente per errore.
Ho letto da qualche parte che potrebbe avere a che fare con l'utilizzo di librerie a 32 bit o 64 bit e che potrebbe essere necessario utilizzare i tag -m32 o -m64, ma non sono sicuro che ciò si applichi Qui. È interessante notare che, quando ho provato ad aggiungere il tag -m64 ho ottenuto lo stesso errore esatto, ma quando ho provato ad utilizzare il tag -m32 ho ottenuto lo stesso errore, tranne che ha detto
Undefined symbols for architecture i386:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
invece.
Principalmente voglio solo sapere che cosa sta dicendo l'errore nel mondo. Sono abituato a eseguire il debug degli errori in fase di compilazione che forniscono una riga specifica nel codice, ecc., Ma non riesco a distinguere nulla di simile da questo. Qualche idea?
Se è utile, sto utilizzando un Macbook di fine 2008 con Intel Core 2 Duo, (quindi a 64 bit) e sto utilizzando OS X Lion (10.7.2), che ritengo sia l'ultima versione . Inoltre, sto usando gcc versione 4.2.1.
Il progetto contiene file .hpp? Vedi http://stackoverflow.com/questions/1757509/precompiled-headers-and-compiling-universal-objects-on-osxq – erturne
il tuo programma ha la funzione main()? – springrider