Problem mit der koolplot library beim Compilieren; Meldung "undefined reference"



  • Moin,

    ich hab mich jetzt mal mit der schicken koolplot library beschäfftigt und dabei ist gleich ein Problem mit dem ersten Programm aufgetreten, welches als Beispiel in der koolplot.h drinsteht und eigentlich aus diesem Grunde ja theoretisch funktionieren sollte.

    Hier der Code:

    #include <koolplot.h>
     int main()
     {
     	plotdata x(0, 360), y = sin(x * M_PI / 180);
     	plot(x, y);
     	return 0;
     }
    

    Als Fehler meldet mir Code::Blooks folgendes(Dev C++ meldet das Ganze als Linker error):

    H:\Eigenes\Programmieren\C_C++\dev_saves\koolplot Programme\probe01.o:probe01.cpp:(.text+0x18d)||undefined reference to Plotdata::Plotdata(double, double)'| H:\\Eigenes\\Programmieren\\C\_C++\\dev\_saves\\koolplot Programme\\probe01.o:probe01.cpp:(.text+0x1c8)||undefined reference toPlotdata::operator*(double) const'|
    H:\Eigenes\Programmieren\C_C++\dev_saves\koolplot Programme\probe01.o:probe01.cpp:(.text+0x1f7)||undefined reference to Plotdata::operator/(double) const'| H:\\Eigenes\\Programmieren\\C\_C++\\dev\_saves\\koolplot Programme\\probe01.o:probe01.cpp:(.text+0x219)||undefined reference tosin(Plotdata const&)'|
    H:\Eigenes\Programmieren\C_C++\dev_saves\koolplot Programme\probe01.o:probe01.cpp:(.text+0x2cd)||undefined reference to plot(Plotdata const&, Plotdata const&)'| H:\\Eigenes\\Programmieren\\C\_C++\\dev\_saves\\koolplot Programme\\probe01.o:probe01.cpp:(.text+0x43f)||undefined reference to_COLOR'|
    H:\Eigenes\Programmieren\C_C++\dev_saves\koolplot Programme\probe01.o:probe01.cpp:(.text+0x46f)||undefined reference to _COLOR'| H:\\Eigenes\\Programmieren\\C\_C++\\dev\_saves\\koolplot Programme\\probe01.o:probe01.cpp:(.text+0x49f)||undefined reference to_COLOR'|
    H:\Eigenes\Programmieren\C_C++\dev_saves\koolplot Programme\probe01.o:probe01.cpp:(.text+0x4cf)||undefined reference to _COLOR'| H:\\Eigenes\\Programmieren\\C\_C++\\dev\_saves\\koolplot Programme\\probe01.o:probe01.cpp:(.text+0x4ff)||undefined reference to_COLOR'|
    ||=== Build finished: 10 errors, 0 warnings ===|

    Auf der Webseite steht bei "Command line compilation:":

    Compile with:
    gcc.exe -x c++ -mwindows -o aplot.o aplot.c
    Link with
    gcc.exe -mwindows -o aplot.exe aplot.o -lkoolplot
    -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 -lstdc++ -lsupc++

    Ist hier vielleicht das Problem begraben und ich muss noch beim compilieren zusätzliche Dateien einbinden und wenn ja wie mach ich das bei Code::Blocks unter Windows 😕

    Vielleicht hat sich ja schon mal einer mit dieser 2D Plotting Library beschäfftigt und kann mir helfen und ansonsten wäre ich für Vorschläge und Anmerkungen wo man den Fehler finden könnte sehr dankbar.



  • Hol dir einen neueren Compiler + IDE (z.B Code::Blocks, oder VC++)
    Und dann link das ganze neu und dann sollte das gehen.



  • Als Fehler meldet mir Code::Blooks folgendes...

    Hol dir einen neueren Compiler + IDE (z.B Code::Blocks, oder VC++)...

    Ähhh ich benutze doch schon Code::Blooks, habs auch erst ende letzter Woche gezoggen und komplett mit Compiler installiert.



  • Nebukat schrieb:

    Als Fehler meldet mir Code::Blooks folgendes...

    Hol dir einen neueren Compiler + IDE (z.B Code::Blocks, oder VC++)...

    Ähhh ich benutze doch schon Code::Blooks, habs auch erst ende letzter Woche gezoggen und komplett mit Compiler installiert.

    Ahh. Sorry. Habe nicht richtig geschaut und nur Dev C++ gesehen. 😉

    Hmm. Dann stimmt etwas nicht, wie du das linkst. ka was, kenne C::B nicht.



  • Naja ich erstelle eigentlich nur eine leere .ccp Datei und schreibe dann den Code rein und drücke dann auf compilieren.

    Aber scheinbar muss ich noch diese Sachen hier, wie es auf der Webseite gezeigt ist extra irgendwie mit Linken, hab aber keine Ahnung wie das in Code::Blooks geht, vielleicht kann mir da einer weiter helfen (werd mir mal die Doku zum Programm bei zeiten zu gemüte führen)

    Link with
    gcc.exe -mwindows -o aplot.exe aplot.o -lkoolplot
    -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 -lstdc++ -lsupc++



  • Rechtsklick auf das Projekt - Build Options - Linker Settings.
    Entweder du suchst dir die libs einzeln in die Linke liste, oder du machst es dir einfach und kopierst -lkoolplot
    -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 -lstdc++ -lsupc++ in "other Linker options" Vorrausgesetzt er findet die Libs, wenn nicht häng noch ein -L"Der Pfad der koolplotlibs" davor



  • So hab es jetzt mal ausprobiert, aber er hat dann noch mit anderen Funktionen rum gemeckert, dass es zu diesen keine reference gäbe. Hab den Fehler aber schnell gefunden, man muss ja noch zusätzlich die WinBGIm runterladen damit koolplot funktioniert und diese library "libbgi.a" muss man dann natürlich auch noch in die Linker Liste schreiben.

    Danke für eure Hilfe läuft jetzt alles so wie es soll.


Anmelden zum Antworten