Hi Dear Programmers,
under WinXP SP2, PlPlot 5.9.0 and Cmake 2.6 the 3rd Party Installation of wxWidgets 2.8.7 is broken with GUI- or CMD-cmake-version and NMAKE or Project-File output.
VS-Project-Errormessage:
2>Verknüpfen...
2>wxbase28u.lib(baselib_string.obj) : error LNK2005: "public: __thiscall wxString::wxString(char const *,class wxMBConv const &,unsigned int)" (??0wxString@@QAE@PBDABVwxMBConv@@I@Z) ist bereits in wxwidgets.obj definiert.
2> Bibliothek "C:\ATI\build3\dll\Release\plplotd.lib" und Objekt "C:\ATI\build3\dll\Release\plplotd.exp" werden erstellt.
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * const wxEmptyString" (?wxEmptyString@@3PBDB)" in Funktion ""protected: void __thiscall wxStringBase::Init(void)" (?Init@wxStringBase@@IAEXXZ)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""protected: void __thiscall wxStringBase::InitWith(char const *,unsigned int,unsigned int)" (?InitWith@wxStringBase@@IAEXPBDII@Z)" in Funktion ""public: __thiscall wxStringBase::wxStringBase(char const *)" (??0wxStringBase@@QAE@PBD@Z)".
2>wxwidgets.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""protected: virtual bool __thiscall wxColourBase::FromString(char const *)" (?FromString@wxColourBase@@MAE_NPBD@Z)".
2>wxwidgets.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall wxApp::Initialize(int &,char * *)" (?Initialize@wxApp@@UAE_NAAHPAPAD@Z)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * const wxPanelNameStr" (?wxPanelNameStr@@3QBDB)" in Funktion ""public: __thiscall wxPLplotWindow::wxPLplotWindow(class wxWindow *,struct PLStream *)" (??0wxPLplotWindow@@QAE@PAVwxWindow@@PAUPLStream@@@Z)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""class wxString __cdecl operator+(char const *,class wxString const &)" (??H@YA?AVwxString@@PBDABV0@@Z)" in Funktion ""public: void __thiscall wxPLplotFrame::OnMenu(class wxCommandEvent &)" (?OnMenu@wxPLplotFrame@@QAEXAAVwxCommandEvent@@@Z)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""class wxString __cdecl operator+(class wxString const &,char const *)" (??H@YA?AVwxString@@ABV0@PBD@Z)" in Funktion ""public: void __thiscall wxPLplotFrame::OnMenu(class wxCommandEvent &)" (?OnMenu@wxPLplotFrame@@QAEXAAVwxCommandEvent@@@Z)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * const wxFileDialogNameStr" (?wxFileDialogNameStr@@3QBDB)" in Funktion ""public: void __thiscall wxPLplotFrame::OnMenu(class wxCommandEvent &)" (?OnMenu@wxPLplotFrame@@QAEXAAVwxCommandEvent@@@Z)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * const wxFrameNameStr" (?wxFrameNameStr@@3QBDB)" in Funktion ""public: __thiscall wxPLplotFrame::wxPLplotFrame(class wxString const &,struct PLStream *)" (??0wxPLplotFrame@@QAE@ABVwxString@@PAUPLStream@@@Z)".
2>wxwidgets.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""bool __cdecl wxInitialize(int,char * *)" (?wxInitialize@@YA_NHPAPAD@Z)" in Funktion ""void __cdecl install_buffer(struct PLStream *)" (?install_buffer@@YAXPAUPLStream@@@Z)".
2>C:\ATI\build3\dll\Release\plplotd.dll : fatal error LNK1120: 10 nicht aufgelöste externe Verweise.
2>Das Buildprotokoll wurde unter "file://c:\ATI\build3\src\plplotd.dir\Release\BuildLog.htm" gespeichert.
2>plplotd - 12 Fehler, 0 Warnung(en)
Doesn't this mean some libraries are missing, but they are all correctly linked in the linker-configuration.
Thanks for help
Stefan
Logged In: YES
user_id=899567
Originator: NO
Hi Stefan,
which where the options with which you compiled the wxWidgets llibary? Maybe you link the plplot dll to a static wxWidgets build?
Regards,
Werner
Logged In: YES
user_id=2095226
Originator: YES
I compiled wxWidgets-Library as unicode release and PLPlot as static:
cmake -DENABLE_f77=OFF -DwxWidgets_LIB_DIR=%WXWIN%\lib\vc_lib -DwxWidgets_CONFIGURATION=mswu -DBUILD_SHARED_LIBS=OFF -DBUILD_TEST=OFF -G "NMake Makefiles" ..\plplot
after nmake(output seems to be good):
Linking CXX static library plplotd.lib
[ 90%] Built target plplotd
Scanning dependencies of target plplotcxxd
[ 93%] Building CXX object bindings/c++/CMakeFiles/plplotcxxd.dir/plstream.obj
plstream.cc
C:\ATI\plplot\bindings\c++\plstream.cc(1665) : warning C4800: 'PLINT': Variable
wird auf booleschen Wert ('True' oder 'False') gesetzt (Auswirkungen auf Leistun
gsverhalten möglich)
C:\ATI\plplot\bindings\c++\plstream.cc(2092) : warning C4800: 'PLBOOL': Variable
wird auf booleschen Wert ('True' oder 'False') gesetzt (Auswirkungen auf Leistu
ngsverhalten möglich)
c:\ati\plplot\bindings\c++\plstream.cc(2208) : warning C4717: 'plstream::xform':
Rekursiv für alle Steuerelementpfade. Die Funktion verursacht einen Stapelüberl
auf zur Laufzeit.
Linking CXX static library plplotcxxd.lib
[ 93%] Built target plplotcxxd
Scanning dependencies of target plplotwxwidgetsd
[ 95%] Building CXX object bindings/wxwidgets/CMakeFiles/plplotwxwidgetsd.dir/wx
PLplotstream.obj
wxPLplotstream.cpp
C:\ATI\plplot\bindings\wxwidgets\wxPLplotstream.cpp(49) : warning C4101: 'buffer
': Unreferenzierte lokale Variable
[ 97%] Building CXX object bindings/wxwidgets/CMakeFiles/plplotwxwidgetsd.dir/wx
PLplotwindow.obj
wxPLplotwindow.cpp
Linking CXX static library plplotwxwidgetsd.lib
[ 97%] Built target plplotwxwidgetsd
Scanning dependencies of target pltek
[100%] Building C object utils/CMakeFiles/pltek.dir/pltek.obj
pltek.c
Linking C executable pltek.exe
[100%] Built target pltek
But with Test=ON
cmake -DENABLE_f77=OFF -DwxWidgets_LIB_DIR=%WXWIN%\lib\vc_lib -DwxWidgets_CONFIGURATION=mswu -DBUILD_SHARED_LIBS=OFF -DBUILD_TEST=ON -G "NMake Makefiles" ..\plplot
I get after nmake:
[ 40%] Building CXX object bindings/wxwidgets/CMakeFiles/plplotwxwidgetsd.dir/wx
PLplotwindow.obj
wxPLplotwindow.cpp
Linking CXX static library plplotwxwidgetsd.lib
[ 40%] Built target plplotwxwidgetsd
Scanning dependencies of target examples_lena_file
[ 40%] Generating lena.pgm
[ 41%] Built target examples_lena_file
Scanning dependencies of target x01c
[ 42%] Building C object examples/c/CMakeFiles/x01c.dir/x01c.obj
x01c.c
C:\ATI\plplot\examples\c\x01c.c(220) : warning C4101: 'st': Unreferenzierte loka
le Variable
Linking C executable x01c.exe
wxbase28u.lib(baselib_string.obj) : error LNK2005: "public: __thiscall wxString:
:wxString(char const *,class wxMBConv const &,unsigned int)" (??0wxString@@QAE@P
BDABVwxMBConv@@I@Z) ist bereits in plplotd.lib(wxwidgets.obj) definiert.
LINK : warning LNK4098: Standardbibliothek "MSVCRT" steht in Konflikt mit andere
n Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
public: virtual bool __thiscall wxApp::Initialize(int &,char * *)" (?Initialize@
wxApp@@UAE_NAAHPAPAD@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
public: virtual void __thiscall wxAppConsole::OnAssertFailure(char const *,int,c
har const *,char const *,char const *)" (?OnAssertFailure@wxAppConsole@@UAEXPBDH
000@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
public: virtual void __thiscall wxAppConsole::OnAssert(char const *,int,char con
st *,char const *)" (?OnAssert@wxAppConsole@@UAEXPBDH00@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
protected: virtual bool __thiscall wxColourBase::FromString(char const *)" (?Fro
mString@wxColourBase@@MAE_NPBD@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgel÷stes extern
es Symbol ""void __cdecl wxOnAssert(char const *,int,char const *,char const *,c
har const *)" (?wxOnAssert@@YAXPBDH000@Z)" in Funktion ""public: void __thiscall
wxArrayOfwxPLplotFrame::Remove(class wxPLplotFrame *)" (?Remove@wxArrayOfwxPLpl
otFrame@@QAEXPAVwxPLplotFrame@@@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgel÷stes extern
es Symbol ""protected: void __thiscall wxStringBase::InitWith(char const *,unsig
ned int,unsigned int)" (?InitWith@wxStringBase@@IAEXPBDII@Z)" in Funktion ""publ
ic: __thiscall wxStringBase::wxStringBase(char const *,unsigned int)" (??0wxStri
ngBase@@QAE@PBDI@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgel÷stes extern
es Symbol ""bool __cdecl wxInitialize(int,char * *)" (?wxInitialize@@YA_NHPAPAD@
Z)" in Funktion ""void __cdecl install_buffer(struct PLStream *)" (?install_buff
er@@YAXPAUPLStream@@@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
char const * const wxPanelNameStr" (?wxPanelNameStr@@3QBDB)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
char const * const wxFrameNameStr" (?wxFrameNameStr@@3QBDB)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
char const * const wxEmptyString" (?wxEmptyString@@3PBDB)".
plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgel÷stes extern
es Symbol ""class wxString __cdecl operator+(char const *,class wxString const &
)" (??H@YA?AVwxString@@PBDABV0@@Z)" in Funktion ""public: void __thiscall wxPLpl
otFrame::OnMenu(class wxCommandEvent &)" (?OnMenu@wxPLplotFrame@@QAEXAAVwxComman
dEvent@@@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgel÷stes extern
es Symbol ""class wxString __cdecl operator+(class wxString const &,char const *
)" (??H@YA?AVwxString@@ABV0@PBD@Z)" in Funktion ""public: void __thiscall wxPLpl
otFrame::OnMenu(class wxCommandEvent &)" (?OnMenu@wxPLplotFrame@@QAEXAAVwxComman
dEvent@@@Z)".
plplotd.lib(wxwidgets.obj) : error LNK2001: Nicht aufgel÷stes externes Symbol ""
char const * const wxFileDialogNameStr" (?wxFileDialogNameStr@@3QBDB)".
x01c.exe : fatal error LNK1120: 13 nicht aufgel÷ste externe Verweise.
LINK Pass 1 failed. with 2
NMAKE : fatal error U1077: ""C:\Programme\CMake 2.6\bin\cmake.exe"": Rückgabe-Co
de "0xffffffff"
Stop.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\nma
ke.exe"": Rückgabe-Code "0x2"
Stop.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\nma
ke.exe"": Rückgabe-Code "0x2"
Stop.
Logged In: YES
user_id=2095226
Originator: YES
please isn't there anyone with Working wxWidget under Windows
I build WxWidget 2.8.8 as DLL, Unicode, Release
PLPlot 5.9.0 as Static,Release
The Library plplotwxwidgetsd.lib was created, but the examples doesn't compile:
for example x01.cpp:
1>------ Erstellen gestartet: Projekt: x01, Konfiguration: Release Win32 ------
1>Verknüpfen...
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""class wxPLplotApp & __cdecl wxGetApp(void)" (?wxGetApp@@YAAAVwxPLplotApp@@XZ)" in Funktion ""void __cdecl plD_tidy_wxwidgets(struct PLStream *)" (?plD_tidy_wxwidgets@@YAXPAUPLStream@@@Z)".
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall wxPLplotFrame::wxPLplotFrame(class wxString const &,struct PLStream *)" (??0wxPLplotFrame@@QAE@ABVwxString@@PAUPLStream@@@Z)" in Funktion ""void __cdecl install_buffer(struct PLStream *)" (?install_buffer@@YAXPAUPLStream@@@Z)".
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: __thiscall wxString::wxString(char const *)" (__imp_??0wxString@@QAE@PBD@Z)" in Funktion ""void __cdecl install_buffer(struct PLStream *)" (?install_buffer@@YAXPAUPLStream@@@Z)".
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) bool __cdecl wxInitialize(int,char * *)" (__imp_?wxInitialize@@YA_NHPAPAD@Z)" in Funktion ""void __cdecl install_buffer(struct PLStream *)" (?install_buffer@@YAXPAUPLStream@@@Z)".
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall wxPLplotApp::SetRefreshFlag(bool)" (?SetRefreshFlag@wxPLplotApp@@QAEX_N@Z)" in Funktion ""void __cdecl wxRunApp(struct PLStream *,bool)" (?wxRunApp@@YAXPAUPLStream@@_N@Z)".
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall wxPLDevAGG::wxPLDevAGG(void)" (??0wxPLDevAGG@@QAE@XZ)" in Funktion ""void __cdecl plD_init_wxwidgets(struct PLStream *)" (?plD_init_wxwidgets@@YAXPAUPLStream@@@Z)".
1>plplotd.lib(wxwidgets.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall wxPLDevDC::wxPLDevDC(void)" (??0wxPLDevDC@@QAE@XZ)" in Funktion ""void __cdecl plD_init_wxwidgets(struct PLStream *)" (?plD_init_wxwidgets@@YAXPAUPLStream@@@Z)".
1>C:\ATI\build4\examples\c++\Release\x01.exe : fatal error LNK1120: 7 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\ATI\build4\examples\c++\x01.dir\Release\BuildLog.htm" gespeichert.
1>x01 - 8 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 7 aktuell, 0 übersprungen ==========
I Linked from vc_dll:
wxbase28u.lib
wxbase28u_net.lib
wxbase28u_odbc.lib
wxbase28u_xml.lib
wxexpat.lib
wxjpeg.lib
wxmsw28u_adv.lib
wxmsw28u_aui.lib
wxmsw28u_core.lib
wxmsw28u_dbgrid.lib
wxmsw28u_gl.lib
wxmsw28u_html.lib
wxmsw28u_media.lib
wxmsw28u_qa.lib
wxmsw28u_richtext.lib
wxmsw28u_xrc.lib
wxpng.lib
wxregexu.lib
wxtiff.lib
wxzlib.lib