Here are the notes I put together while following the documentation:

  • Download MySQL (no install).zip
    Note: you'll need the 32-bit version (e.g. mysql-noinstall-5.0.51b-win32) even if you're on a 64-bit system
    • I encountered many link errors when trying to use the x64 version, such as:


      connection.obj : error LNK2019: unresolved external symbol _mysql_get_client_info@0 referenced in function "public: class std::basic_string,class std::allocator

  • Expand to C:\Program Files\MySQL\MySQL Server 5.0\
  • Delete everything apart from lib & include
  • Open Solution (.sln) file in Visual Studio
  • Build 'Debug' profile (F7)
  • Build 'Release' profile
    • I encountered many warnings as below, but no errors:


      c:\core\masters\webmirror\imal\mysql++-3.0.9\lib\qparms.h(49) : warning C4275: non dll-interface class 'std::_Container_base_aux' used as base for dll-interface class 'std::_Container_base_aux_alloc_real<_Alloc>'
      > with
      > [
      > _Alloc=std::allocator
      > ]
      > c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(377) : see declaration of 'std::_Container_base_aux'

      >c:\core\masters\webmirror\imal\mysql++-3.0.9\lib\result.h(212) : warning C4275: non dll-interface class 'std::_Container_base_aux' used as base for dll-interface class 'std::_Container_base_aux_alloc_real<_Alloc>'
      > with
      > [
      > _Alloc=std::allocator
      > ]
      > c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(377) : see declaration of 'std::_Container_base_aux'

  • Hunt for .dll and .lib in mysql++-3.0.9\vc2008\Debug\
    • Documentation makes reference to mysql++\vc\Debug\ which I think has been renamed to vc200X
  • Use the libraries (static and dynamic) and headers in your projects.