Les symboles non définis pour l'architecture i386:

J'ai récemment déménagé sur un mac, et je suis mal à l'aide de la ligne de commande compilateurs. J'utilise g++ pour compiler, et cela génère un fichier source unique d'amende. si j'essaie d'ajouter un fichier d'en-tête, lorsque j'essaie de le compiler avec g++ - je obtenir les symboles non définis pour l'architecture i386. Les programmes de compiler fine dans xCode. Ai-je raté quelque chose d'évident?

essayé d'utiliser g++ -m32 main.cpp... ne sais pas quoi d'autre pour essayer.


D'accord, L'ancien code compilé... Avons rétréci vers le bas à ma constructeurs.

class Matrix{
public:
    int a;
    int deter;

    Matrix();
    int det();
};

#include "matrix.h"


Matrix::Matrix(){
    a = 0;
    deter = 0;
}

int Matrix::det(){
    return 0;

}

mon erreur est
Les symboles non définis pour l'architecture x86_64:
"De la matrice::Matrix()", référencé à partir de:
_main dans ccBWK2wB.o
ld: symbole(s) ne se trouvent pas pour l'architecture x86_64
collect2: ld a retourné 1 code de sortie

mon code principal a

#include "matrix.h"
int main(){
    Matrix m;

    return 0;
} 

ainsi que l'habituel

Envisager la modification de votre question d'inclure votre code, fichier d'en-tête de ligne de commande et les invocations.
et bien sûr, la sortie correspondante 😉
Juste pour être clair, l'architecture de qui êtes-vous essayer de construire? Est-il x86_64?

OriginalL'auteur maccard | 2011-04-28