Prev: Building wxWidgets 2.8.6 linker error with VS2005
Next: Re[2]: Building wxWidgets 2.8.6 linker error with VS2005
From: "Patrick Steele" on 10 Nov 2007 16:25 OS: XP SP2 wxWidgets: 2.8.6 Compiler: VS 2005 Hi, I have just upgraded my wxWidgets source code from 2.6.4 to 2.8.6. Having built the source with default setup ( VC++ compiled static libraries ), I have tested a few of the samples and they seem to work ok on my machine. However, when trying to do a clean and rebuild of my own source code that is dependent upon wxWidgets, I now get the following: .... 4>------ Rebuild All started: Project: trinity_runtime, Configuration: debug Win32 ------ 4>Deleting intermediate and output files for project 'trinity_runtime', configuration 'debug|Win32' 4>Compiling... 4>precompiled.cpp 4>Compiling... 4>my_app.cpp 4>my_frame.cpp 4>my_glcanvas.cpp 4>my_glcontext.cpp 4>Generating Code... 4>Compiling manifest to resources... 4>Linking... 4>LINK : D:\trinity\trinity_debug.exe not found or not built by the last incremental link; performing full link 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall wxConvAuto::ToWChar(unsigned short *,unsigned int,char const *,unsigned int)const " (?ToWChar(a)wxConvAuto@@UBEIPAGIPBDI@Z) 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall wxConvAuto::FromWChar(char *,unsigned int,unsigned short const *,unsigned int)const " (?FromWChar(a)wxConvAuto@@UBEIPADIPBGI@Z) 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall wxMBConv::MB2WC(unsigned short *,char const *,unsigned int)const " (?MB2WC(a)wxMBConv@@UBEIPAGPBDI@Z) 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall wxMBConv::WC2MB(char *,unsigned short const *,unsigned int)const " (?WC2MB(a)wxMBConv@@UBEIPADPBGI@Z) 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall wxMBConv::ToWChar(unsigned short *,unsigned int,char const *,unsigned int)const " (?ToWChar(a)wxMBConv@@UBEIPAGIPBDI@Z) 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall wxMBConv::FromWChar(char *,unsigned int,unsigned short const *,unsigned int)const " (?FromWChar(a)wxMBConv@@UBEIPADIPBGI@Z) 4>D:\trinity\trinity_debug.exe : fatal error LNK1120: 6 unresolved externals 4>Build Time 0:05 4>Build log was saved at "file://d:\trinity\source\trinity_runtime\debug\BuildLog.htm" 4>trinity_runtime - 7 error(s), 0 warning(s) ========== Rebuild All: 3 succeeded, 1 failed, 0 skipped ========== I'm somewhat confused because I do not call any of the missing functions in logging.cpp, or at least not directly to my knowledge. Can anyone please help? Patrick
From: "Patrick Steele" on 10 Nov 2007 17:27
I appear to have fixed it :) Previously in my project settings, I had set: Treat wchar_t as Built-in Type: Yes Setting it to No seems to resolve the problem. I would be interested to hear the reason that this fixes it though please? It was vanilla installs of both versions of wxWidgets. Patrick On Nov 10, 2007 9:25 PM, Patrick Steele <steele.patrick(a)gmail.com> wrote: > OS: XP SP2 > wxWidgets: 2.8.6 > Compiler: VS 2005 > > Hi, > I have just upgraded my wxWidgets source code from 2.6.4 to 2.8.6. Having > built the source with default setup ( VC++ compiled static libraries ), I > have tested a few of the samples and they seem to work ok on my machine. > However, when trying to do a clean and rebuild of my own source code that is > dependent upon wxWidgets, I now get the following: > > ... > 4>------ Rebuild All started: Project: trinity_runtime, Configuration: > debug Win32 ------ > 4>Deleting intermediate and output files for project 'trinity_runtime', > configuration 'debug|Win32' > 4>Compiling... > 4>precompiled.cpp > 4>Compiling... > 4>my_app.cpp > 4>my_frame.cpp > 4>my_glcanvas.cpp > 4>my_glcontext.cpp > 4>Generating Code... > 4>Compiling manifest to resources... > 4>Linking... > 4>LINK : D:\trinity\trinity_debug.exe not found or not built by the last > incremental link; performing full link > 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved > external symbol "public: virtual unsigned int __thiscall > wxConvAuto::ToWChar(unsigned short *,unsigned int,char const *,unsigned > int)const " (?ToWChar(a)wxConvAuto@@ UBEIPAGIPBDI@Z) > 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved > external symbol "public: virtual unsigned int __thiscall > wxConvAuto::FromWChar(char *,unsigned int,unsigned short const *,unsigned > int)const " (?FromWChar(a)wxConvAuto@@ UBEIPADIPBGI@Z) > 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved > external symbol "public: virtual unsigned int __thiscall > wxMBConv::MB2WC(unsigned short *,char const *,unsigned int)const " > (?MB2WC(a)wxMBConv@@ UBEIPAGPBDI@Z) > 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved > external symbol "public: virtual unsigned int __thiscall > wxMBConv::WC2MB(char *,unsigned short const *,unsigned int)const " > (?WC2MB(a)wxMBConv@@ UBEIPADPBGI@Z) > 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved > external symbol "public: virtual unsigned int __thiscall > wxMBConv::ToWChar(unsigned short *,unsigned int,char const *,unsigned > int)const " (?ToWChar(a)wxMBConv@@ UBEIPAGIPBDI@Z) > 4>trinity_systems_debug.lib(logging.obj) : error LNK2001: unresolved > external symbol "public: virtual unsigned int __thiscall > wxMBConv::FromWChar(char *,unsigned int,unsigned short const *,unsigned > int)const " (?FromWChar(a)wxMBConv@@ UBEIPADIPBGI@Z) > 4>D:\trinity\trinity_debug.exe : fatal error LNK1120: 6 unresolved > externals > 4>Build Time 0:05 > 4>Build log was saved at > "file://d:\trinity\source\trinity_runtime\debug\BuildLog.htm" > 4>trinity_runtime - 7 error(s), 0 warning(s) > ========== Rebuild All: 3 succeeded, 1 failed, 0 skipped ========== > > > I'm somewhat confused because I do not call any of the missing functions > in logging.cpp , or at least not directly to my knowledge. Can anyone > please help? > Patrick > |