undefined reference to
-
Hallo!
Ich versuche grade, ein Programm, das ich mit dem BCB6 unter Windows geschrieben habe, unter Linux per g++ zum Laufen zu bringen. Allerdings scheitere ich recht weit vorn mit der Meldung "undefined reference to"
Um das Problem einzugrenzen, habe ich jetzt ein kleines sinnloses Programm gebaut, in dem einfach nur eine Klasse initialisiert werden soll.
Das Problem läßt sich damit reproduzieren:
"/tmp/ccllPbhi.o: In function `main':main.cpp:(.text+0x3b): undefined reference to `test::test(int)'
collect2: ld gab 1 als Ende-Status zurück"Die Main.cpp:
#include <iostream> #include <string> #include <time.h> #include <stdlib.h> #include <math.h> #include </home/nicole/Neuer Ordner/test.h> test* beispiel; int main() { beispiel=new test(1); return 0; }Die test.cpp:
#pragma hdrstop #include "test.h" test::test(int t) { integer=t; }Die test.h:
//--------------------------------------------------------------------------- #ifndef testH #define testH //--------------------------------------------------------------------------- class test { public: test(int t); int integer; private: }; #endifHat vielleicht jemand eine Ahnung, wo der Fehler liegen könnte?
Kurz vor der Verzweiflung stehend,
Nicole
-
Wie rufst Du den Compiler denn überhaupt auf? Ich nehme an das Problem liegt dort.
Korrekt für das Beispiel wäre z.B.:
g++ -o test Main.cpp test.cpp
-
Beim G++ mußt du afaik alle Quelldateien mit angeben, die er mit compilieren soll, sonst nimmt er sich nur die Main.cpp vor (und beschwert sich, daß er die in der test.cpp stehenden Funktionen nicht findet).
(der BCB macht das vermutlich von alleine, wenn du alle Dateien zu einem Projekt zusammenfasst)