]> git.saurik.com Git - wxWidgets.git/blame - docs/tech/tn0010.htm
better approach to centering windows (in absence of somebody else's solution...)
[wxWidgets.git] / docs / tech / tn0010.htm
CommitLineData
f6bcfd97
BP
1<HTML>
2
3<HEAD>
4<TITLE>Compiling wxWindows applications in the VC++ IDE</TITLE>
5
6</HEAD>
7
8<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
9
10<font face="Arial, Lucida Sans, Helvetica">
11
12<a name="top"></a>
13
14<table width=100% border=0 cellpadding=5 cellspacing=0>
15<tr>
16<td bgcolor="#C4ECF9">
17<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
18Compiling wxWindows applications in the VC++ IDE
19</font>
20</td>
21</tr>
22</table>
23
24<P>
25
26<CENTER>
27<a href="#wxwin2">Settings for wxWindows 2</a> / <a href="#wxwin1">Settings for wxWindows 1.68</a>
28</CENTER>
29
30<P>
31
32To compile wxWindows samples and applications using the VC++ 5.0 or 6.0 IDE (having compiled wxWindows
33using the makefile or project file provided), the following
34steps and settings should be used.<P>
35
36<H2>Steps</H2>
37
38<ol>
39<li>Create a new WIN32 Application project.
40<li>Add the .cpp and .rc files for your project.
41<li>Apply the settings listed below to the project, replacing c:\wx2 with your wxWindows
42installation path.
43</ol>
44
45<P>
46
47<H2><a name="wxwin2">Settings for wxWindows 2</a></H2>
48
49These settings apply to wxWindows 2.1.14 and above.<P>
50
51<DL>
52<DT><B>General</B><DD>
53The <B>Output files</B> and <B>Intermediate files</B> directory fields should be Debug
54for the Debug configuration, and Release for the Release configuration.<P>
55
56<DT><B>Debug: General</B><DD>
57The <B>Executable for debug sessions</B> field should be altered to be the path and name
58you'd expect (it may have generated a different name).<P>
59
60<DT><B>C/C++: Preprocessor</B><DD>
61The <B>Preprocessor definitions</B> field should contain the following symbols for Debug:<P>
62
63<PRE>
64WIN32,_DEBUG,_WINDOWS,__WINDOWS__,__WXMSW__,__WXDEBUG__,WXDEBUG=1,
65__WIN95__,__WIN32__,WINVER=0x0400,STRICT
66</PRE>
67<P>
68and these for Release:<P>
69
70<PRE>
71NDEBUG,WIN32,_WINDOWS,__WINDOWS__,__WXMSW__,__WIN95__,__WIN32__,
72WINVER=0x0400,STRICT</PRE>
73<P>
74The <B>Additional include directories</B> field should contain the following:<P>
75<PRE>
76c:\wx2\include,c:\wx2\contrib\include
77</PRE>
78<P>(and of couse any other directories you wish to use in your project).<P>
79
80<DT><B>C/C++: Precompiled Headers</B><DD>
81
82The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
83button should be selected.<P>
84
85<DT><B>C/C++: Code Generation</B><DD>
86
87The <B>Use run-time library</B> control should be set to <B>Debug Multithreaded DLL</B> (Debug)
88or <B>Multithreaded DLL</B> (Release).<P>
89
90<DT><B>Link: Input</B><DD>
91
92The <B>Object/library modules</B> field should contain:
93
94<PRE>
95kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
96ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
97winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib
98</PRE>
99
100for the Debug configuration and
101
102<PRE>
103kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
104ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
105winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib
106</PRE>
107
108for the Release configuration.<P>
109
110The <B>Ignore libraries</B> field should contain:
111
112<PRE>
113libcd.lib,libcid.lib,msvcrt.lib
114</PRE>
115
116for the Debug configuration and
117
118<PRE>
119libc.lib,libci.lib,msvcrtd.lib
120</PRE>
121
122for the Release configuration.<P>
123
124The <B>Additional library path</B> field should contain
125
126<PRE>
127c:\wx2\lib,c:\wx2\contrib\lib
128</PRE>
129
130for both Debug and Release configurations.
131
132<P>
133
134<DT><B>Resources</B><DD>
135
136Select your .rc file. The <B>Additional resource include directories</B> field should contain:
137
138<PRE>
139c:\wx2\include;c:\wx2\contrib\include
140</PRE>
141
142</DL>
143
144<HR>
145
146<H2><a name="wxwin1">Settings for wxWindows 1.68</a></H2>
147
148Note: these have not yet been checked.<P>
149
150<DL>
151<DT><B>Debug: General</B><DD>
152The <B>Executable for debug sessions</B> field should be altered to be the path and name
153you'd expect (it may have generated a different name).<P>
154
155<DT><B>General</B><DD>
156The <B>Output directories</B> fields can be made blank if you want the objects
157and executable to be created in the project directory and not a subdirectory.<P>
158
159<DT><B>C/C++: Preprocessor</B><DD>
160The <B>Preprocessor definitions</B> field should contain the following symbols:<P>
161<PRE>
162WIN32,_DEBUG,_WINDOWS,wx_msw,DEBUG=1,WIN95=1,WINVER=0x0400,STRICT
163</PRE>
164<P>
165The <B>Additional include directories</B> field should contain the following:<P>
166<PRE>
167../../include/base,../../include/msw
168</PRE>
169<P>(and of couse any other directories you wish to use in your project).<P>
170
171<DT><B>C/C++: Precompiled Headers</B><DD>
172
173The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
174button should be selected (I can't find a way of using the wxWindows PCH file).<P>
175
176<DT><B>C/C++: Code Generation</B><DD>
177
178The <B>Use run-time library</B> control should be set to <B>Multithreaded DLL</B>. This
179sets the compiler switch to /MD to match the wxWindows makefile.<P>
180
181<DT><B>Link: Input</B><DD>
182
183The <B>Object/library modules</B> field should contain:
184
185<PRE>
186kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
187shell32.lib odbc32.lib odbccp32.lib comctl32.lib
188../../lib/wx.lib ../../src/msw/dummy.obj
189</PRE>
190
191The <B>Ignore libraries</B> field should contain:
192
193<PRE>
194libcd.lib,libcid.lib
195</PRE>
196
197<P>
198
199<DT><B>Resources</B><DD>
200
201Select your .rc file. The <B>Additional resource include directories</B> field should contain:
202
203<PRE>
204..\..\include\msw;..\..\contrib\fafa
205</PRE>
206
207</DL>
208
209<P>
210
211<!--
212<PRE>
213From: "Chris Breeze" <chris@hel.co.uk>
214To: <wxwin-users@wx.dent.med.uni-muenchen.de>
215Subject: Re: Compiling 2.0 wxWin Apps in the VC IDE
216Date: Wed, 20 May 1998 14:18:02 +0100
217
218First the apology: the description below is for wx1.68
219not for wx2.0 - sorry if I confused everybody.
220
221Anyway, third time lucky I hope! The settings for
222VC++ 5.0, wx2.0 beta 8, NT Workstation 4.0 sp3
223are:
224
225In project / settings / C/C++:
226Add "__WINDOWS__" to the pre-processor definitions
227Add "{wx}\include" to the additional include directories
228where {wx} is the directory in which wx is installed
229
230In project / settings / Resources:
231add "{wx}\include" to the additional resource include directories
232
233In project / settings / Link:
234Add "wx.lib comctl32.lib dummy.obj" to the Object/Library modules
235
236Add "libcd.lib,libcid.lib" to ignore libraries (under the "input" category)
237
238Add "{wx}\lib,{wx}\src\msw" to the additional library path
239
240I have tested these settings on samples/minimal and can
241build exes which can be debugged using Developer Studio.
242
243I hope I've finally answered the original question. (Next time
244I'll read the question more carefully!).
245
246Regards,
247Chris
248
249Original message (settings for wx1.68c):
250) Try the following (tested with VC++ 5 on NT4):
251)
252) Create a new Win32 Application project and insert the source files
253) (including .rc files).
254)
255) In project / settings / C/C++:
256) Add wx_msw to the pre-processor definitions
257) add {wx}\include\base,{wx}\include\msw to the additional include
258directories
259) where {wx} is the directory in which wx is installed
260)
261) In project / settings / Resources:
262) add {wx}\include\msw;{wx}\contrib\fafa to the additional resource include
263) directories
264)
265) In project / settings / Link:
266) Add comctl32.lib wx.lib dummy.obj ctl3d32.lib to the Object/Library modules
267)
268) Add libc to ignore libraries (under the "input" category)
269)
270) Add {wx}\lib,{wx}\src\msw to the additional library path
271)
272) These settings are for a debug build. You can use the same settings for
273) a release build apart from ignoring libc.
274
275</PRE>
276-->
277
278</font>
279
280</BODY>
281
282</HTML>