Estoy tratando de programar una clase de gráfico usando una lista adyacente de un ejemplo en mi libro de texto C++, y cuando compilo usando este comando: Código: g ++ -o prog program.cpp ... obtengo el siguiente error:¿Qué significa el error en tiempo de compilación "Símbolos no definidos para la arquitectura 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
... ¿qué significa esto en el mundo? Puede que sea un problema con mi código, pero creo que puede ser más profundo que eso, porque he obtenido este mismo error aparentemente inexplicable para varios proyectos diferentes, muchos de los cuales se resolvieron de diferentes maneras y, lamentablemente, completamente por accidente.
He leído en algún lugar que puede tener que ver con si estoy usando bibliotecas de 32 bits o de 64 bits, y que las etiquetas -m32 o -m64 pueden necesitar ser utilizadas, pero no estoy seguro si esto aplica aquí. Curiosamente, cuando intentado añadir la etiqueta -m64 Tengo el mismo error exacto, pero cuando he intentado usar la etiqueta -m32 Tengo el mismo error, excepto que dijo
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
lugar.
Principalmente solo quiero saber qué demonios está diciendo el error. Estoy acostumbrado a depurar errores de tiempo de compilación que dan una línea específica en el código, etc., pero no puedo discernir nada de eso a partir de esto. ¿Algunas ideas?
Si sirve, estoy utilizando una Macbook a finales de 2008 con Intel Core 2 Duo (64 bits) y estoy ejecutando OS X Lion (10.7.2), que creo que es la última versión . Además, estoy usando gcc versión 4.2.1.
¿Su proyecto tiene archivos .hpp? Consulte http://stackoverflow.com/questions/1757509/precompiled-headers-and-compiling-universal-objects-on-osxq – erturne
¿su programa tiene la función main()? – springrider