Author Topic: wxWidgets for VC++ toolkit 2003 or MingW32  (Read 4266 times)

Offline grv575

  • Official tester
  • Regular
  • ***
  • Posts: 381
wxWidgets for VC++ toolkit 2003 or MingW32
« on: August 08, 2005, 03:50:46 am »
I had a difficult time getting wxWidgets working 100% with the VC++ compiler (and some minor problems with mingW32) so I wrote up what needed to be done to get things running.  I modified the wiki tutorial with the steps:

http://wiki.codeblocks.org/index.php/Compiling_wxWidgets_2.6.1_to_develop_Code::Blocks_%28MSW%29#Building_wxWidgets_2.6.1_mingw32_.26_vc.2B.2B_toolkit_2003

in case that gets reverted, I'll post it here as well:
------------------------------------------------------------------------------------------------------
Building wxWidgets 2.6.1 mingw32 & vc++ toolkit 2003


I'll just throw in my notes on the process for both compiler versions as getting vc++ toolkit to work is quite a pain. Code blocks needs a couple changes to support wxWidgets on the vc++ toolkit seamlessly.

for mingw32 compiler


cd <WXWIN>\build\msw
mingw32-make -f makefile.gcc clean
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 VENDOR=cb
cd ..\..\contrib\build\stc
mingw32-make -f makefile.gcc clean
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 VENDOR=cb
cd <WXWIN>\lib; mkdir codeblocks_gcc; cd ..\gcc_dll; move * ..\codeblocks_gcc; move msw ..\codeblocks_gcc

codeblocks

project->build options
   directories->compiler
      <WXWIN>\lib\codeblocks_gcc\msw
      <WXWIN>\include
      <WXWIN>\contrib\include
   directories->linker
      <WXWIN>\lib\codeblocks_gcc
   directories->resource compiler
      <WXWIN>\include
   compiler->#defines
      WXUSINGDLL

compile->compiler options
   programs->additional paths
      C:\wxWidgets-2.6.1\lib\codeblocks_gcc
-OR- copy C:\wxWidgets-2.6.1\lib\codeblocks_gcc\wxmsw26_gcc_cb.dll
     to application exe directory or c:\windows\system32
-OR- change project->properties->targets->execution working dir
     to C:\wxWidgets-2.6.1\lib\codeblocks_gcc (not recommended)

copy C:\wxWidgets-2.6.1\lib\codeblocks_gcc\libwxmsw26.a
to C:\wxWidgets-2.6.1\lib\codeblocks_gcc\libwxmsw.a
copy C:\wxWidgets-2.6.1\lib\codeblocks_gcc\libwxmsw26_stc.a
to C:\wxWidgets-2.6.1\lib\codeblocks_gcc\libwxmsw_stc.a

compile->rebuild

for vc++ toolkit 2003 compiler

install VCToolkitSetup.exe
install PlatformSDK
install .NET Framework SDK Version 1.1
run PlatformSDK->Set Windows XP 32-bit Build Environment (Retail)
C:\Program Files\Microsoft Visual C++ Toolkit 2003\vcvars32.bat (not needed)

set DOTNETSDK=C:\Program Files\Microsoft.NET\SDK\v1.1 (not needed)
set MSVC=C:\Program Files\Microsoft Visual C++ Toolkit 2003
set MSSDK=C:\Program Files\Microsoft Platform SDK
set VC7=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7
set INCLUDE=%MSVC%\include;%MSSDK%\include
set LIB=%MSVC%\lib;%MSSDK%\lib;%VC7%\lib
set PATH=%MSVC%\bin;%MSSDK%\bin;%PATH%
set PATH=%PATH%;%MSSDK%\bin\Win64

cd <WXWIN>\build\msw
nmake -f makefile.vc clean
nmake -f makefile.vc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 VENDOR=cb
cd ..\..\contrib\build\stc
nmake -f makefile.vc clean
nmake -f makefile.vc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 VENDOR=cb
cd <WXWIN>\lib; mkdir codeblocks_vc; cd ..\vc_dll; move * ..\codeblocks_vc; move msw ..\codeblocks_vc

codeblocks

project->build options
   directories->compiler
      <WXWIN>\lib\codeblocks_vc\msw
      <WXWIN>\include
      <WXWIN>\contrib\include
   directories->linker
      <WXWIN>\lib\codeblocks_vc
   directories->resource compiler
      <WXWIN>\include
   compiler->#defines
      WXUSINGDLL
   compiler->compiler flags
      enable c++ exception handling (or other options: /GX [same as /EHsc])
   compiler->other options
      delete -D__GNUWIN32__
   linker->link libraries
      delete ctl3d32

compile->compiler options
   programs->additional paths
      C:\wxWidgets-2.6.1\lib\codeblocks_vc
-OR- copy C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw26_vc_cb.dll
     to application exe directory or c:\windows\system32
-OR- change project->properties->targets->execution working dir
     to C:\wxWidgets-2.6.1\lib\codeblocks_vc (not recommended)

compile->compiler options
   programs->additional paths
      C:\Program Files\Microsoft Platform SDK\Bin
    directories->compiler
      add C:\Program Files\Microsoft Platform SDK\Include      
   directories->linker
      add C:\Program Files\Microsoft Platform SDK\Lib

copy C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw26.exp
     to C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw.exp
copy C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw26.lib
     to C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw.lib
copy C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw26_stc.exp
     to C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw_stc.exp
copy C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw26_stc.lib
     to C:\wxWidgets-2.6.1\lib\codeblocks_vc\wxmsw_stc.lib

compile->rebuild


building from the commandline (wxwidgets demos)
nmake -f makefile.vc SHARED=1 MONOLITHIC=1 BUILD=release

-----------------

Btw, if you need cvtres.exe to compile .rc resource files, grab it here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;q187280

« Last Edit: August 08, 2005, 06:51:21 am by grv575 »

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: wxWidgets for VC++ toolkit 2003 or MingW32
« Reply #1 on: August 08, 2005, 08:14:42 am »
thanks a lot  :o

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: wxWidgets for VC++ toolkit 2003 or MingW32
« Reply #2 on: August 08, 2005, 09:16:12 pm »
Be sure to save it as a textfile, we've been having server problems recently :(