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
- Install
Install wxFormBuilder, remember to check the "Source Code" during installation - Create project/solution files
Premake-win32 --target vs2005 --unicode --with-wx-shared - Open the solution
Open the wxFormBuilder.sln - 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 - 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 - 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 - Modify the source code
geninhertclass_gui.cpp (line 43)wxString m_formsCheckListChoices[] = {};
towxString m_formsCheckListChoices[64] = {};
- Set the MANIFEST
wxFormBuilder.rc
remove the "//" before #define wxUSE_NO_MANIFEST 1 - Empty the EntryPoint
Linker->Advanced->Entry Point, set to empty - Build
- 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\\