Recientemente me mudé a un mac, y estoy luchando con los compiladores de línea de comandos. Estoy usando g ++ para compilar, y esto construye un solo archivo fuente bien. si trato de agregar un archivo de encabezado personalizado, cuando intento compilar usando g ++ obtengo símbolos no definidos para la arquitectura i386. Sin embargo, los programas compilan bien en xCode. ¿Me estoy perdiendo algo obvio?Símbolos no definidos para la arquitectura i386:
intenté usar g ++ -m32 main.cpp ... no sabía qué más probar.
Bien, El código antiguo compilado ... Lo he reducido a mis constructores.
class Matrix{
public:
int a;
int deter;
Matrix();
int det();
};
#include "matrix.h"
Matrix::Matrix(){
a = 0;
deter = 0;
}
int Matrix::det(){
return 0;
}
mi error es símbolos no definidos para la arquitectura x86_64: "Matrix :: Matrix()", se hace referencia a partir de: _main en ccBWK2wB.o ld: símbolo (s) que no se encuentran en la arquitectura x86_64 collect2 : ld devolvió 1 estado de salida
mi código principal tiene
#include "matrix.h"
int main(){
Matrix m;
return 0;
}
junto con la habitual
Considere la edición de su pregunta para incluir su código, archivo de cabecera, y invocaciones de línea de comando. –
y, por supuesto, la salida correspondiente;) – geekazoid
Para que quede claro, ¿para qué arquitectura está tratando de construir? ¿Es x86_64? – Troubadour