Build wxFormBuilder in Visual Studio.Net 2005

Purpose

This article describes how to build the wxFormBuilder with VS.NET 2005. This is not the officially supported method of building wxFormBuilder on Windows.

This is due to that I want to make a plug-in(custom control) for wxFormBuilder, but the wxFormBuilder downloaded from the official website is compiled with g++, and it cannot load the plug-in compiled by VS.NET 2005 properly. So, I decide to build the wxFB with VS.NET 2005

Prepare

You could refer to http://wxforum.shadonet.com/viewtopic.php?t=6357 to build your wxWidgets in VS.NET 2005.

Build steps

  1. Install
    Install wxFormBuilder, remember to check the "Source Code" during installation
  2. Create project/solution files
    Premake-win32 --target vs2005 --unicode --with-wx-shared
  3. Open the solution
    Open the wxFormBuilder.sln
  4. Replace the library name in project setting
    If your wxWidgets library don't have wxbase28ud.lib, please replace the input file of linker with the following files
    Input File:
    wxmsw28ud_html.lib wxmsw28ud_xrc.lib wxbase28ud_xml.lib wxmsw28ud_adv.lib wxmsw28ud_core.lib wxbase28ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib
  5. Replace the library name in project setting of plug-ins
    And please modify the path of the 3 projects:additional-components-plugin, common-components-plugin, and layout-components-plugin
    From ../lib/fbPluginInterfaced.lib ../lib/ticppd.lib to ../../sdk/lib/libfbPluginInterfaced.lib ../../sdk/lib/libticppd.lib
  6. Replace the library name in project setting of wxFormBuilder
    From ../lib/fbPluginInterfaced.lib ../lib/ticppd.lib to ../sdk/lib/libfbPluginInterfaced.lib ../sdk/lib/libticppd.lib
  7. Modify the source code
    geninhertclass_gui.cpp (line 43)
    wxString m_formsCheckListChoices[] = {};
    to
    wxString m_formsCheckListChoices[64] = {};
  8. Set the MANIFEST
    wxFormBuilder.rc
    remove the "//" before #define wxUSE_NO_MANIFEST 1
  9. Empty the EntryPoint
    Linker->Advanced->Entry Point, set to empty
  10. Build
  11. Done

PS.If you want to build a release version, just remove the "d" from the library name.
PS.You may join the discussion at http://forum.wxformbuilder.org/index.php?topic=199.0\\