Re: [wxVTK] Visual Studio linking problems, inconsistent dll linkage, definition of dllimport stati
Brought to you by:
malat
From: Mathieu M. <mat...@gm...> - 2007-06-28 11:51:51
|
Hi Jan, It means you mixed up shared libs and static lib. You should have a consistant setting, or else read the README file Q2 (*). Another simplier solution is to directly use wxVTK inside your project and not as an external library (not much of a library). HTH -Mathieu (*) Q2. Linkage has to be consistent. The class has been succesfully built with there four cases: VTK static VTK dynamic wxWindows static 1 3 wxWindows dynamic 2 4 Just open the file: wxVTKRenderWindowInteractor.h, find the line: class VTK_RENDERING_EXPORT wxVTKRenderWindowInteractor : public wxWindow, public vtkRenderWindowInteractor ^^^^^^^^^^^^^^^^^^^^ And change it accordingly 1. VTK_RENDERING_EXPORT is ok 2. VTK_RENDERING_EXPORT is ok 3. WXDLLEXPORT is ok 4. remove WXDLLEXPORT / VTK_RENDERING_EXPORT On 6/27/07, stu...@mp... <stu...@mp...> wrote: > Hi all, > > trying to compile the wxVTKSample project I get many dll-linkage errors. > > I use wxWidgets-2.8.4 and Visual Studio 2005 8.0 > wxWidgest_LIB_DIR is set to lib/vc_lib > wxVTK and wxWidgest are both set to Multi-threaded DLL (/MD) runtime > librarys. > > The error log for building wxSample is attached below. > > Thank you for help, > > Jan Stuehmer > Max Planck Institute for Cell Biology and Genetics Dresden > > > > 1>------ Build started: Project: wxSample, Configuration: Release Win32 > ------ > 1>Compiling... > 1>wxVTKRenderWindowInteractor.cxx > 1>d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(87) : warning > C4275: non dll-interface class 'wxWindow' used as base for dll-interface > class 'wxVTKRenderWindowInteractor' > 1> d:\jan\wxWidgets-2.8.4\include\wx/msw/window.h(33) : see > declaration of 'wxWindow' > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(87) : > see declaration of 'wxVTKRenderWindowInteractor' > 1>..\src\wxVTKRenderWindowInteractor.cxx(86) : warning C4273: > 'ms_classInfo' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(90) : > see previous definition of 'public: static wxClassInfo > wxVTKRenderWindowInteractor::ms_classInfo' > 1>..\src\wxVTKRenderWindowInteractor.cxx(86) : error C2491: > 'wxVTKRenderWindowInteractor::ms_classInfo' : definition of dllimport > static data member not allowed > 1>..\src\wxVTKRenderWindowInteractor.cxx(86) : warning C4273: > 'wxVTKRenderWindowInteractor::GetClassInfo' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(90) : > see previous definition of 'GetClassInfo' > 1>..\src\wxVTKRenderWindowInteractor.cxx(86) : warning C4273: > 'wxVTKRenderWindowInteractor::wxCreateObject' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(90) : > see previous definition of 'wxCreateObject' > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : warning C4273: > 'sm_eventTable' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(167) : > see previous definition of 'protected: static wxEventTable const > wxVTKRenderWindowInteractor::sm_eventTable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : error C2491: > 'wxVTKRenderWindowInteractor::sm_eventTable' : definition of dllimport > static data member not allowed > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : warning C4273: > 'wxVTKRenderWindowInteractor::GetEventTable' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(167) : > see previous definition of 'GetEventTable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : warning C4273: > 'sm_eventHashTable' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(167) : > see previous definition of 'protected: static wxEventHashTable > wxVTKRenderWindowInteractor::sm_eventHashTable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : error C2491: > 'wxVTKRenderWindowInteractor::sm_eventHashTable' : definition of dllimport > static data member not allowed > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : warning C4273: > 'wxVTKRenderWindowInteractor::GetEventHashTable' : inconsistent dll > linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(167) : > see previous definition of 'GetEventHashTable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : warning C4273: > 'sm_eventTableEntries' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(167) : > see previous definition of 'private: static wxEventTableEntry const * > const wxVTKRenderWindowInteractor::sm_eventTableEntries' > 1>..\src\wxVTKRenderWindowInteractor.cxx(93) : error C2491: > 'wxVTKRenderWindowInteractor::sm_eventTableEntries' : definition of > dllimport static data member not allowed > 1>..\src\wxVTKRenderWindowInteractor.cxx(96) : warning C4407: cast between > different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(97) : warning C4407: cast between > different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(98) : warning C4407: cast between > different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(101) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(102) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(103) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(104) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(105) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(106) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(108) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(109) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(110) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(115) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(116) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(118) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(119) : warning C4407: cast > between different pointer to member representations, compiler may generate > incorrect code > 1>..\src\wxVTKRenderWindowInteractor.cxx(126) : warning C4273: > 'wxVTKRenderWindowInteractor::wxVTKRenderWindowInteractor' : inconsistent > dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(94) : > see previous definition of '{ctor}' > 1>..\src\wxVTKRenderWindowInteractor.cxx(151) : warning C4273: > 'wxVTKRenderWindowInteractor::wxVTKRenderWindowInteractor' : inconsistent > dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(96) : > see previous definition of '{ctor}' > 1>..\src\wxVTKRenderWindowInteractor.cxx(168) : warning C4273: > 'wxVTKRenderWindowInteractor::~wxVTKRenderWindowInteractor' : inconsistent > dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(107) : > see previous definition of '{dtor}' > 1>..\src\wxVTKRenderWindowInteractor.cxx(172) : warning C4273: > 'wxVTKRenderWindowInteractor::New' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(103) : > see previous definition of 'New' > 1>..\src\wxVTKRenderWindowInteractor.cxx(178) : warning C4273: > 'wxVTKRenderWindowInteractor::Initialize' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(110) : > see previous definition of 'Initialize' > 1>..\src\wxVTKRenderWindowInteractor.cxx(193) : warning C4273: > 'wxVTKRenderWindowInteractor::Enable' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(111) : > see previous definition of 'Enable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(207) : warning C4273: > 'wxVTKRenderWindowInteractor::Enable' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(112) : > see previous definition of 'Enable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(216) : warning C4273: > 'wxVTKRenderWindowInteractor::Disable' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(113) : > see previous definition of 'Disable' > 1>..\src\wxVTKRenderWindowInteractor.cxx(227) : warning C4273: > 'wxVTKRenderWindowInteractor::Start' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(114) : > see previous definition of 'Start' > 1>..\src\wxVTKRenderWindowInteractor.cxx(234) : warning C4273: > 'wxVTKRenderWindowInteractor::UpdateSize' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(115) : > see previous definition of 'UpdateSize' > 1>..\src\wxVTKRenderWindowInteractor.cxx(250) : warning C4273: > 'wxVTKRenderWindowInteractor::CreateTimer' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(116) : > see previous definition of 'CreateTimer' > 1>..\src\wxVTKRenderWindowInteractor.cxx(260) : warning C4273: > 'wxVTKRenderWindowInteractor::DestroyTimer' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(117) : > see previous definition of 'DestroyTimer' > 1>..\src\wxVTKRenderWindowInteractor.cxx(266) : warning C4273: > 'wxVTKRenderWindowInteractor::OnTimer' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(133) : > see previous definition of 'OnTimer' > 1>..\src\wxVTKRenderWindowInteractor.cxx(289) : warning C4273: > 'wxVTKRenderWindowInteractor::GetHandleHack' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(158) : > see previous definition of 'GetHandleHack' > 1>..\src\wxVTKRenderWindowInteractor.cxx(327) : warning C4273: > 'wxVTKRenderWindowInteractor::OnPaint' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(121) : > see previous definition of 'OnPaint' > 1>..\src\wxVTKRenderWindowInteractor.cxx(345) : warning C4273: > 'wxVTKRenderWindowInteractor::OnEraseBackground' : inconsistent dll > linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(122) : > see previous definition of 'OnEraseBackground' > 1>..\src\wxVTKRenderWindowInteractor.cxx(351) : warning C4273: > 'wxVTKRenderWindowInteractor::OnSize' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(134) : > see previous definition of 'OnSize' > 1>..\src\wxVTKRenderWindowInteractor.cxx(369) : warning C4273: > 'wxVTKRenderWindowInteractor::OnMotion' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(123) : > see previous definition of 'OnMotion' > 1>..\src\wxVTKRenderWindowInteractor.cxx(387) : warning C4273: > 'wxVTKRenderWindowInteractor::OnEnter' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(128) : > see previous definition of 'OnEnter' > 1>..\src\wxVTKRenderWindowInteractor.cxx(407) : warning C4273: > 'wxVTKRenderWindowInteractor::OnLeave' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(129) : > see previous definition of 'OnLeave' > 1>..\src\wxVTKRenderWindowInteractor.cxx(427) : warning C4273: > 'wxVTKRenderWindowInteractor::OnKeyDown' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(130) : > see previous definition of 'OnKeyDown' > 1>..\src\wxVTKRenderWindowInteractor.cxx(456) : warning C4273: > 'wxVTKRenderWindowInteractor::OnKeyUp' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(131) : > see previous definition of 'OnKeyUp' > 1>..\src\wxVTKRenderWindowInteractor.cxx(484) : warning C4273: > 'wxVTKRenderWindowInteractor::OnButtonDown' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(125) : > see previous definition of 'OnButtonDown' > 1>..\src\wxVTKRenderWindowInteractor.cxx(540) : warning C4273: > 'wxVTKRenderWindowInteractor::OnButtonUp' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(126) : > see previous definition of 'OnButtonUp' > 1>..\src\wxVTKRenderWindowInteractor.cxx(597) : warning C4273: > 'wxVTKRenderWindowInteractor::OnMouseWheel' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(135) : > see previous definition of 'OnMouseWheel' > 1>..\src\wxVTKRenderWindowInteractor.cxx(621) : warning C4273: > 'wxVTKRenderWindowInteractor::Render' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(137) : > see previous definition of 'Render' > 1>..\src\wxVTKRenderWindowInteractor.cxx(658) : warning C4273: > 'wxVTKRenderWindowInteractor::SetRenderWhenDisabled' : inconsistent dll > linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(138) : > see previous definition of 'SetRenderWhenDisabled' > 1>..\src\wxVTKRenderWindowInteractor.cxx(675) : warning C4800: 'int' : > forcing value to bool 'true' or 'false' (performance warning) > 1>..\src\wxVTKRenderWindowInteractor.cxx(683) : warning C4273: > 'wxVTKRenderWindowInteractor::SetStereo' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(145) : > see previous definition of 'SetStereo' > 1>..\src\wxVTKRenderWindowInteractor.cxx(697) : warning C4273: > 'wxVTKRenderWindowInteractor::PrintSelf' : inconsistent dll linkage > 1> d:\jan\projects\wxvtk\src\wxVTKRenderWindowInteractor.h(104) : > see previous definition of 'PrintSelf' > 1>Build log was saved at > "file://d:\jan\projects\wxVTK\build\wxSample.dir\Release\BuildLog.htm" > 1>wxSample - 4 error(s), 55 warning(s) > ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Wxvtk-users mailing list > Wxv...@li... > https://lists.sourceforge.net/lists/listinfo/wxvtk-users > -- Mathieu |