Visual C++ gives errors about multiply defined symbols, what can I do?
If you get errors like this MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _xxxxxx already defined in LIBCD.lib(yyyyy.obj) when linking your project, this means that you used different versions of CRT (C Run-Time) library for wxWindows (or possibly another library) and the main project. Visual C++ provides static or dynamic and multithread safe or not versions of CRT for each of debug and release builds, for a total of 8 libraries. You can choose among them by going to the “Code generation” page/subitem of the “C++” tab/item in the project proprieties dialog in VC6/7. To avoid problems, you must use the same one for all components of your project. wxWindows uses multithread safe DLL version of the CRT which is a good choice but may be problematic when distributing your applications if you don’t include the CRT DLL in your installation — in this case you may decide to switch to using a static CRT version. If you build with wxUSE_THREADS == 0 you may also use the non MT-safe version as it is