]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0010.htm
merged 2.2 branch
[wxWidgets.git] / docs / tech / tn0010.htm
diff --git a/docs/tech/tn0010.htm b/docs/tech/tn0010.htm
new file mode 100644 (file)
index 0000000..f505126
--- /dev/null
@@ -0,0 +1,282 @@
+<HTML>
+
+<HEAD>
+<TITLE>Compiling wxWindows applications in the VC++ IDE</TITLE>
+
+</HEAD>
+
+<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<a name="top"></a>
+
+<table width=100% border=0 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#C4ECF9">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
+Compiling wxWindows applications in the VC++ IDE
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+<CENTER>
+<a href="#wxwin2">Settings for wxWindows 2</a> / <a href="#wxwin1">Settings for wxWindows 1.68</a>
+</CENTER>
+
+<P>
+
+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.<P>
+
+<H2>Steps</H2>
+
+<ol>
+<li>Create a new WIN32 Application project.
+<li>Add the .cpp and .rc files for your project.
+<li>Apply the settings listed below to the project, replacing c:\wx2 with your wxWindows
+installation path.
+</ol>
+
+<P>
+
+<H2><a name="wxwin2">Settings for wxWindows 2</a></H2>
+
+These settings apply to wxWindows 2.1.14 and above.<P>
+
+<DL>
+<DT><B>General</B><DD>
+The <B>Output files</B> and <B>Intermediate files</B> directory fields should be Debug
+for the Debug configuration, and Release for the Release configuration.<P>
+
+<DT><B>Debug: General</B><DD>
+The <B>Executable for debug sessions</B> field should be altered to be the path and name
+you'd expect (it may have generated a different name).<P>
+
+<DT><B>C/C++: Preprocessor</B><DD>
+The <B>Preprocessor definitions</B> field should contain the following symbols for Debug:<P>
+
+<PRE>
+WIN32,_DEBUG,_WINDOWS,__WINDOWS__,__WXMSW__,__WXDEBUG__,WXDEBUG=1,
+__WIN95__,__WIN32__,WINVER=0x0400,STRICT
+</PRE>
+<P>
+and these for Release:<P>
+
+<PRE>
+NDEBUG,WIN32,_WINDOWS,__WINDOWS__,__WXMSW__,__WIN95__,__WIN32__,
+WINVER=0x0400,STRICT</PRE>
+<P>
+The <B>Additional include directories</B> field should contain the following:<P>
+<PRE>
+c:\wx2\include,c:\wx2\contrib\include
+</PRE>
+<P>(and of couse any other directories you wish to use in your project).<P>
+
+<DT><B>C/C++: Precompiled Headers</B><DD>
+
+The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
+button should be selected.<P>
+
+<DT><B>C/C++: Code Generation</B><DD>
+
+The <B>Use run-time library</B> control should be set to <B>Debug Multithreaded DLL</B> (Debug)
+or <B>Multithreaded DLL</B> (Release).<P>
+
+<DT><B>Link: Input</B><DD>
+
+The <B>Object/library modules</B> field should contain:
+
+<PRE>
+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
+</PRE>
+
+for the Debug configuration and
+
+<PRE>
+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
+</PRE>
+
+for the Release configuration.<P>
+
+The <B>Ignore libraries</B> field should contain:
+
+<PRE>
+libcd.lib,libcid.lib,msvcrt.lib
+</PRE>
+
+for the Debug configuration and
+
+<PRE>
+libc.lib,libci.lib,msvcrtd.lib
+</PRE>
+
+for the Release configuration.<P>
+
+The <B>Additional library path</B> field should contain
+
+<PRE>
+c:\wx2\lib,c:\wx2\contrib\lib
+</PRE>
+
+for both Debug and Release configurations.
+
+<P>
+
+<DT><B>Resources</B><DD>
+
+Select your .rc file. The <B>Additional resource include directories</B> field should contain:
+
+<PRE>
+c:\wx2\include;c:\wx2\contrib\include
+</PRE>
+
+</DL>
+
+<HR>
+
+<H2><a name="wxwin1">Settings for wxWindows 1.68</a></H2>
+
+Note: these have not yet been checked.<P>
+
+<DL>
+<DT><B>Debug: General</B><DD>
+The <B>Executable for debug sessions</B> field should be altered to be the path and name
+you'd expect (it may have generated a different name).<P>
+
+<DT><B>General</B><DD>
+The <B>Output directories</B> fields can be made blank if you want the objects
+and executable to be created in the project directory and not a subdirectory.<P>
+
+<DT><B>C/C++: Preprocessor</B><DD>
+The <B>Preprocessor definitions</B> field should contain the following symbols:<P>
+<PRE>
+WIN32,_DEBUG,_WINDOWS,wx_msw,DEBUG=1,WIN95=1,WINVER=0x0400,STRICT
+</PRE>
+<P>
+The <B>Additional include directories</B> field should contain the following:<P>
+<PRE>
+../../include/base,../../include/msw
+</PRE>
+<P>(and of couse any other directories you wish to use in your project).<P>
+
+<DT><B>C/C++: Precompiled Headers</B><DD>
+
+The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
+button should be selected (I can't find a way of using the wxWindows PCH file).<P>
+
+<DT><B>C/C++: Code Generation</B><DD>
+
+The <B>Use run-time library</B> control should be set to <B>Multithreaded DLL</B>. This
+sets the compiler switch to /MD to match the wxWindows makefile.<P>
+
+<DT><B>Link: Input</B><DD>
+
+The <B>Object/library modules</B> field should contain:
+
+<PRE>
+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
+</PRE>
+
+The <B>Ignore libraries</B> field should contain:
+
+<PRE>
+libcd.lib,libcid.lib
+</PRE>
+
+<P>
+
+<DT><B>Resources</B><DD>
+
+Select your .rc file. The <B>Additional resource include directories</B> field should contain:
+
+<PRE>
+..\..\include\msw;..\..\contrib\fafa
+</PRE>
+
+</DL>
+
+<P>
+
+<!--
+<PRE>
+From: "Chris Breeze" <chris@hel.co.uk>
+To: <wxwin-users@wx.dent.med.uni-muenchen.de>
+Subject: Re: Compiling 2.0 wxWin Apps in the VC IDE
+Date: Wed, 20 May 1998 14:18:02 +0100
+
+First the apology: the description below is for wx1.68
+not for wx2.0 - sorry if I confused everybody.
+
+Anyway, third time lucky I hope! The settings for
+VC++ 5.0, wx2.0 beta 8, NT Workstation 4.0 sp3
+are:
+
+In project / settings / C/C++:
+Add "__WINDOWS__" to the pre-processor definitions
+Add "{wx}\include" to the additional include directories
+where {wx} is the directory in which wx is installed
+
+In project / settings / Resources:
+add "{wx}\include" to the additional resource include directories
+
+In project / settings / Link:
+Add "wx.lib comctl32.lib dummy.obj" to the Object/Library modules
+
+Add "libcd.lib,libcid.lib" to ignore libraries (under the "input" category)
+
+Add "{wx}\lib,{wx}\src\msw" to the additional library path
+
+I have tested these settings on samples/minimal and can
+build exes which can be debugged using Developer Studio.
+
+I hope I've finally answered the original question. (Next time
+I'll read the question more carefully!).
+
+Regards,
+Chris
+
+Original message (settings for wx1.68c):
+) Try the following (tested with VC++ 5 on NT4):
+) 
+) Create a new Win32 Application project and insert the source files
+) (including .rc files).
+) 
+) In project / settings / C/C++:
+) Add wx_msw to the pre-processor definitions
+) add {wx}\include\base,{wx}\include\msw to the additional include
+directories
+) where {wx} is the directory in which wx is installed
+) 
+) In project / settings / Resources:
+) add {wx}\include\msw;{wx}\contrib\fafa to the additional resource include
+) directories
+) 
+) In project / settings / Link:
+) Add comctl32.lib wx.lib dummy.obj ctl3d32.lib to the Object/Library modules
+) 
+) Add libc to ignore libraries (under the "input" category)
+) 
+) Add {wx}\lib,{wx}\src\msw to the additional library path
+) 
+) These settings are for a debug build. You can use the same settings for
+) a release build apart from ignoring libc.
+
+</PRE>
+-->
+
+</font>
+
+</BODY>
+
+</HTML>