Compiling wxWindows applications in the VC++ IDE

Settings for wxWindows 2 / Settings for wxWindows 1.68

To compile wxWindows samples and applications using the VC++ 5.0 or 6.0 IDE (having compiled wxWindows using the makefile or project file provided), the following steps and settings should be used.

Steps

  1. Create a new WIN32 Application project.
  2. Add the .cpp and .rc files for your project.
  3. Apply the settings listed below to the project, replacing c:\wx2 with your wxWindows installation path.

Settings for wxWindows 2

These settings apply to wxWindows 2.1.14 and above.

General
The Output files and Intermediate files directory fields should be Debug for the Debug configuration, and Release for the Release configuration.

Debug: General
The Executable for debug sessions field should be altered to be the path and name you'd expect (it may have generated a different name).

C/C++: Preprocessor
The Preprocessor definitions field should contain the following symbols for Debug:

WIN32,_DEBUG,_WINDOWS,__WINDOWS__,__WXMSW__,__WXDEBUG__,WXDEBUG=1,
__WIN95__,__WIN32__,WINVER=0x0400,STRICT

and these for Release:

NDEBUG,WIN32,_WINDOWS,__WINDOWS__,__WXMSW__,__WIN95__,__WIN32__,
WINVER=0x0400,STRICT

The Additional include directories field should contain the following:

c:\wx2\include,c:\wx2\contrib\include

(and of couse any other directories you wish to use in your project).

C/C++: Precompiled Headers
The Not using precompiled headers or Automatic use of precompiled headers button should be selected.

C/C++: Code Generation
The Use run-time library control should be set to Debug Multithreaded DLL (Debug) or Multithreaded DLL (Release).

Link: Input
The Object/library modules field should contain:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib
for the Debug configuration and
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib
for the Release configuration.

The Ignore libraries field should contain:

libcd.lib,libcid.lib,msvcrt.lib
for the Debug configuration and
libc.lib,libci.lib,msvcrtd.lib
for the Release configuration.

The Additional library path field should contain

c:\wx2\lib,c:\wx2\contrib\lib
for both Debug and Release configurations.

Resources
Select your .rc file. The Additional resource include directories field should contain:
c:\wx2\include;c:\wx2\contrib\include

Settings for wxWindows 1.68

Note: these have not yet been checked.

Debug: General
The Executable for debug sessions field should be altered to be the path and name you'd expect (it may have generated a different name).

General
The Output directories fields can be made blank if you want the objects and executable to be created in the project directory and not a subdirectory.

C/C++: Preprocessor
The Preprocessor definitions field should contain the following symbols:

WIN32,_DEBUG,_WINDOWS,wx_msw,DEBUG=1,WIN95=1,WINVER=0x0400,STRICT

The Additional include directories field should contain the following:

../../include/base,../../include/msw

(and of couse any other directories you wish to use in your project).

C/C++: Precompiled Headers
The Not using precompiled headers or Automatic use of precompiled headers button should be selected (I can't find a way of using the wxWindows PCH file).

C/C++: Code Generation
The Use run-time library control should be set to Multithreaded DLL. This sets the compiler switch to /MD to match the wxWindows makefile.

Link: Input
The Object/library modules field should contain:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib odbc32.lib odbccp32.lib comctl32.lib
../../lib/wx.lib ../../src/msw/dummy.obj
The Ignore libraries field should contain:
libcd.lib,libcid.lib

Resources
Select your .rc file. The Additional resource include directories field should contain:
..\..\include\msw;..\..\contrib\fafa