Undefined reference einschließlich header in C++

War ich arbeiten, mein Projekt, während ich beschlossen, dass ich es aufgeteilt in Dateien. Allerdings habe ich dass problem, wie dieses hier, und alle Ratschläge, die ich über google gefunden wurden, dem vergessen zu verlinken die beiden Objekt-Dateien, die ich bin, es richtig zu machen (zumindest denke ich so).

Makefile:

test : class.o main.o
 g++ class.o main.o -o test.exe

main.o : main.cpp
 g++ main.cpp -c

class.o : class.cpp
 g++ class.cpp -c

main.cpp

#include <iostream>
#include "class.h"
using namespace std;

int main() {
 Trida * t = new Trida(4);
 t->fce();
 return 0;
}

Klasse.h

#ifndef CLASS
#define CLASS
class Trida {
private:
 int a; 
public:
 Trida(int n); 
 void fce();
};
#endif

class.cpp

#include <iostream>

using namespace std;

class Trida {
private:
 int a;

public:
 Trida(int n) {
  this->a = n;
 } 

 void fce() {
  cout << this->a << endl;
 }
};

Fehlermeldung:

gwynbleidd@gwynbleidd-pc:~/Skola/test$ make
g++ class.cpp -c
g++ main.cpp -c
g++ class.o main.o -o test.exe
main.o: In function `main':
main.cpp:(.text+0x26): undefined reference to `Trida::Trida(int)'
main.cpp:(.text+0x54): undefined reference to `Trida::fce()'
collect2: ld returned 1 exit status
make: *** [test] Error 1
InformationsquelleAutor Gwynbleidd | 2011-01-08
Schreibe einen Kommentar