Hello,

I am trying to compile VXL (version 1.11), and VGUI with wxWidgets. I compiled wxWidgets 2.8.9 into static libraries using Visual Studio 2005, default settings (eg "Use Standard Windows Libraries", /MD for release, /MDd for debug, and am using the non-unicode libraries. (these settings match up with the default settings for compiling vgui in the project file generated by CMake)

I fed CMake the wxwidgets libraries, and told it to build VGUI, and include wxwidgets support. I built python 2.5.2 both release and debug configurations as instructed in vxl-1.11\vxl-1.11\vxl\contrib\brl\bseg\bvxm\doc\bvxm_howto.docx.

It appears all of my VXL stuff compiles and links fine (542 successful), as does vgui. However, I cannot get any of the handful of samples I tried to link if they rely on vgui.lib. They compile, just not link. I get 2 LNK2001, unresolved external symbol, and 6 LNK2019, unresolved external symbol errors. All linker errors point to vgui_wx_adaptor.obj. I used Microsoft's dumpbin utility to view the contents of vgui.lib and also vgui_wx_adaptor.obj. I text searched the first handful of symbols the linker claimed were unresolved external (eg ??1vgui_wx_adaptor@@UAE@XZ), and have found them in both vgui.lib and vgiu_wx_adaptor.obj, as expected... I will paste one project's output below this message for an example.

The FAQ say that I may not be including properly, but these are the generated samples, so that doesn't seem correct...

Since the runtimes are the same on wxwidgets compile, and VXL compile, and since vgui is compiling, and the symbols that supposedly are not in the vgui library appear to be there with simple text search on their dumpbin.exe contents, I am at a loss on how to continue. Any help would be greatly appreciated.

Note, I have tried in both debug and release configurations, and have cleaned and rebuilt mroe time athan I can count, tinkering with the above stuff I mentioned.

Thank you,

David Hayden

=============Sample Project Output============
24>------ Build started: Project: basic02_graph_tableau, Configuration: Release Win32 ------
24>Linking...
23>Linking...
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2001: unresolved external symbol "protected: static struct wxEventTable const wxGLCanvas::sm_eventTable" (?sm_eventTable@wxGLCanvas@@1UwxEventTable@@B)
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: void __thiscall wxGLCanvas::SwapBuffers(void)" (?SwapBuffers@wxGLCanvas@@QAEXXZ) referenced in function "public: virtual void __thiscall vgui_wx_adaptor::swap_buffers(void)" (?swap_buffers@vgui_wx_adaptor@@UAEXXZ)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2001: unresolved external symbol "protected: static struct wxEventTable const wxGLCanvas::sm_eventTable" (?sm_eventTable@wxGLCanvas@@1UwxEventTable@@B)
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: void __thiscall wxGLCanvas::SetCurrent(void)" (?SetCurrent@wxGLCanvas@@QAEXXZ) referenced in function "public: virtual void __thiscall vgui_wx_adaptor::make_current(void)" (?make_current@vgui_wx_adaptor@@UAEXXZ)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: void __thiscall wxGLCanvas::SwapBuffers(void)" (?SwapBuffers@wxGLCanvas@@QAEXXZ) referenced in function "public: virtual void __thiscall vgui_wx_adaptor::swap_buffers(void)" (?swap_buffers@vgui_wx_adaptor@@UAEXXZ)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: void __thiscall wxGLCanvas::SetCurrent(void)" (?SetCurrent@wxGLCanvas@@QAEXXZ) referenced in function "public: virtual void __thiscall vgui_wx_adaptor::make_current(void)" (?make_current@vgui_wx_adaptor@@UAEXXZ)
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: void __thiscall wxGLCanvas::OnSize(class wxSizeEvent &)" (?OnSize@wxGLCanvas@@QAEXAAVwxSizeEvent@@@Z) referenced in function "private: void __thiscall vgui_wx_adaptor::on_size(class wxSizeEvent &)" (?on_size@vgui_wx_adaptor@@AAEXAAVwxSizeEvent@@@Z)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: void __thiscall wxGLCanvas::OnSize(class wxSizeEvent &)" (?OnSize@wxGLCanvas@@QAEXAAVwxSizeEvent@@@Z) referenced in function "private: void __thiscall vgui_wx_adaptor::on_size(class wxSizeEvent &)" (?on_size@vgui_wx_adaptor@@AAEXAAVwxSizeEvent@@@Z)
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: virtual __thiscall wxGLCanvas::~wxGLCanvas(void)" (??1wxGLCanvas@@UAE@XZ) referenced in function "public: virtual __thiscall vgui_wx_adaptor::~vgui_wx_adaptor(void)" (??1vgui_wx_adaptor@@UAE@XZ)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: virtual __thiscall wxGLCanvas::~wxGLCanvas(void)" (??1wxGLCanvas@@UAE@XZ) referenced in function "public: virtual __thiscall vgui_wx_adaptor::~vgui_wx_adaptor(void)" (??1vgui_wx_adaptor@@UAE@XZ)
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: __thiscall wxGLCanvas::wxGLCanvas(class wxWindow *,int,class wxPoint const &,class wxSize const &,long,class wxString const &,int *,class wxPalette const &)" (??0wxGLCanvas@@QAE@PAVwxWindow@@HABVwxPoint@@ABVwxSize@@JABVwxString@@PAHABVwxPalette@@@Z) referenced in function "public: __thiscall vgui_wx_adaptor::vgui_wx_adaptor(class wxWindow *,int,class wxPoint const &,class wxSize const &,long,class wxString const &,int *)" (??0vgui_wx_adaptor@@QAE@PAVwxWindow@@HABVwxPoint@@ABVwxSize@@JABVwxString@@PAH@Z)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2019: unresolved external symbol "public: __thiscall wxGLCanvas::wxGLCanvas(class wxWindow *,int,class wxPoint const &,class wxSize const &,long,class wxString const &,int *,class wxPalette const &)" (??0wxGLCanvas@@QAE@PAVwxWindow@@HABVwxPoint@@ABVwxSize@@JABVwxString@@PAHABVwxPalette@@@Z) referenced in function "public: __thiscall vgui_wx_adaptor::vgui_wx_adaptor(class wxWindow *,int,class wxPoint const &,class wxSize const &,long,class wxString const &,int *)" (??0vgui_wx_adaptor@@QAE@PAVwxWindow@@HABVwxPoint@@ABVwxSize@@JABVwxString@@PAH@Z)
24>vgui.lib(vgui_wx_adaptor.obj) : error LNK2001: unresolved external symbol "public: static class wxClassInfo wxGLCanvas::ms_classInfo" (?ms_classInfo@wxGLCanvas@@2VwxClassInfo@@A)
23>vgui.lib(vgui_wx_adaptor.obj) : error LNK2001: unresolved external symbol "public: static class wxClassInfo wxGLCanvas::ms_classInfo" (?ms_classInfo@wxGLCanvas@@2VwxClassInfo@@A)
24>C:\home\lib\vxl-1.11\bin\contrib\brl\bbas\bgui\examples\Release\basic02_graph_tableau.exe : fatal error LNK1120: 7 unresolved externals
23>C:\home\lib\vxl-1.11\bin\contrib\brl\bbas\bgui\examples\Release\basic01_pick_tableau.exe : fatal error LNK1120: 7 unresolved externals
23>Build log was saved at "file://c:\home\lib\vxl-1.11\bin\contrib\brl\bbas\bgui\examples\basic01_pick_tableau.dir\Release\BuildLog.htm"
23>basic01_pick_tableau - 8 error(s), 0 warning(s)