Mal wieder Link-Probleme mit wxPlotCtrl
-
Hallo,
ich arbeite hier mit wxPack, Visula Studio 23008 express und wxFormbuilder.
Nun habe ich im Formbuilder ein Panel angelegt, daraunf einen Sizer und darin wiederum ein wxPlotCtrl.
Solange ich damit nichts mache geht alles fehlerfrei.
Nun habe ich bedingt durch die sehr dünne Doku des wxPlotCtrl wenigstens ein Beispielprog gefunden das so anfängt:wxPlotData *pData = new wxPlotData(20);
Sobald ich aber diese Zeile in meinen Quellcode schreibe, kriege ich mehrfach definierte Symbole vom Linker:
1>wxmsw28ud_plotctrl.lib(plotctrllib_plotcurv.obj) : error LNK2005: "public: virtual class wxClassInfo * __thiscall wxPlotCurve::GetClassInfo(void)const " (?GetClassInfo@wxPlotCurve@@UBEPAVwxClassInfo@@XZ) ist bereits in wxmsw28ud_plot.lib(plotlib_plot.obj) definiert.
1>wxmsw28ud_plotctrl.lib(plotctrllib_plotcurv.obj) : error LNK2005: "public: static class wxClassInfo wxPlotCurve::ms_classInfo" (?ms_classInfo@wxPlotCurve@@2VwxClassInfo@@A) ist bereits in wxmsw28ud_plot.lib(plotlib_plot.obj) definiert.Was ist jetzt wieder los ? Kann man das wxPlotCtrl überhaupt benutzen ?
-
hat mal jemand Erfahrungen mit PLplot gemacht ?
-
Im wxForum gabs mal nen Thread zu den verschiedenen Plotctrls.
Der Linkerfehler sagt mir nichts direkt, schau mal ob das verändern der Reihenfolge was bringt.
Auch solltest du die Library mit den gleichen Einstellungen bauen wie wxWidgets.
-
Ich habe wxPack installiert, d.h. ich habe wxWidgets nicht selbst kompiliert
-
ist ja folgendes:
Der Linkermeldung kann man entnehmen, dass es mehrere Symbole gibt, die sowohl in der wxmsw28ud_plot.lib und der wxmsw28ud_plotctrl.lib definiert sind.
Die Frage ist nur: Wieso bindet er beide Lib´s ein ?
In den Projekteigenschaften (Zusätzliche Bibliotheken) sind sie gar nicht aufgeführt.....
-
ich hab´s
Anscheinend ist es ein Problem in der link_additions.h
Dort habe gefunden, wo beide Bibliotheken eingebunden werden und habe die plot.lib kommentiert
#pragma comment( lib, GET_WX_LIB_NAME( flatnotebook ) )
// #pragma comment( lib, GET_WX_LIB_NAME( plot ) )
#pragma comment( lib, GET_WX_LIB_NAME( plotctrl ) )Nun läufts, auch wenn ich noch nicht genau weiss wie hierbei die Libraries eingebunden werden und was der Verzicht auf die plot.lib für weitere Konsequenzen hat