]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/html/faqmsw.htm
Ignore failure when deleting something that might not exist
[wxWidgets.git] / docs / html / faqmsw.htm
index 061c2a9c89854d25209c8532fe64698e59fa13f5..984a87f3fc944d2a316099c46351dabd025ed7df 100644 (file)
@@ -25,13 +25,13 @@ See also <a href="faq.htm">top-level FAQ page</a>.
 
 <h3>Which Windows platforms are supported?</h3>
 
-wxWindows can be used to develop and deliver applications on Windows 3.1, Win32s,
+wxWindows can be used to develop and deliver applications on Windows 3.1, Win32s,
 Windows 95, Windows 98, and Windows NT. A Windows CE version is being looked into (see below).<P>
 
 wxWindows 2 is designed to make use of WIN32 features and controls. However, unlike Microsoft,
 we have not forgotten users of 16-bit Windows. Most features
 work under Windows 3.1, including wxTreeCtrl and wxListCtrl using the generic implementation.
-However, don't expect very Windows-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
+However, don't expect very Windows-95-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
 class doesn't work either because the Windows 3.1 registry is very simplistic. Check out the 16-bit
 makefiles to see what other files have been left out.
 <P>
@@ -101,17 +101,17 @@ Watcom C++ is a little slow and the debugger is not really up to today's standar
 
 <h3>Is Unicode supported?</h3>
 
-No, although there are other internationalisation features.<P>
+Not yet, although there are other internationalisation features.<P>
 
 However, the issues surrounding Unicode support have been looked into so we know
 what we need to do, and have some header files ready to use containing appropriate
 type definitions. Just about every file in wxWindows will need changes, due to the
 pervasive nature of characters and character arrays. Unicode support is needed
-for the port to Windows CE (see above).<P>
+for the port to Windows CE (see above), and will probably be added in time for version 2.1.<P>
 
 <h3>Can you compile wxWindows 2 as a DLL?</h3>
 
-Yes (using the Visual C++ makefile), but be aware that distributing DLLs is a thorny issue
+Yes (using the Visual C++ or Borland C++ makefile), but be aware that distributing DLLs is a thorny issue
 and you may be better off compiling statically-linked applications, unless you're
 delivering a suite of separate programs, or you're compiling a lot of wxWindows applications
 and have limited hard disk space.<P>
@@ -122,13 +122,50 @@ negating the point of using DLLs. Of course, this is not a problem just associat
 wxWindows!
 <P>
 
+<H3>How can I reduce executable size?</H3>
 
-<H3>Will wxWindows be compatible with MFC?</H3>
+You can compile wxWindows as a DLL (see above, VC++/BC++ only at present). You should also
+compile your programs for release using non-debugging and space-optimisation options, but
+take with VC++ 5/6 space optimisation: it can sometimes cause problems.<P>
+
+Statically-linked wxWindows 2 programs are smaller than wxWindows 1.xx programs, because of the way
+wxWindows 2 has been designed to reduce dependencies between classes, and other
+techniques. The linker will not include code from the library that is not (directly or
+indirectly) referenced
+by your application. So for example, the 'minimal' sample is less than 300KB using VC++ 6.<P>
+
+If you want to distribute really small executables, you can
+use <a href="http://www.icl.ndirect.co.uk/petite/" target=_top>Petite</a>
+by Ian Luck. This nifty utility compresses Windows executables by around 50%, so your 500KB executable
+will shrink to a mere 250KB. With this sort of size, there is reduced incentive to
+use DLLs.<P>
+
+<H3>Is wxWindows compatible with MFC?</H3>
 
 There is a sample which demonstrates MFC and wxWindows code co-existing in the same
 application. However, don't expect to be able to enable wxWindows windows with OLE-2
 functionality using MFC.<P>
 
+<H3>Why do I sometimes get bizarre crash problems using VC++ 5/6?</H3>
+
+Some crash problems can be due to inconsistent compiler
+options (and of course this isn't limited to wxWindows).
+If strange/weird/impossible things start to happen please
+check (dumping IDE project file as makefile and doing text comparison
+if necessary) that the project settings, especially the list of defined
+symbols, struct packing, etc. are exactly the same for all items in
+the project. After this, delete everything (including PCH) and recompile.<P>
+
+VC++ 5's optimization code seems to be broken and can
+cause problems: this can be seen when deleting an object Dialog
+Editor, in Release mode with optimizations on. If in doubt,
+switch off optimisations, although this will result in much
+larger executables. It seems possible that the library can be created with
+strong optimization, so long as the application is not strongly
+optimized. For example, in wxWindows project, set to 'Minimum
+Size'. In Dialog Editor project, set to 'Customize: Favor Small
+Code' (and no others). This will then work.<P>
+
 
 </font>