Re: MinGW and Wx

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Wed, 21 Nov 2007 12:02:12 -0500 (EST)

Hi Marlon,
For me, part of the motivation for using a more taxing static language
rather than a dynamic one is producing a small, fast executable without
dependencies on other files.  I did such a fruit basket program in
PowerBasic, which is about 15K as a stand-alone executable.  I have no
problem with a program making use of standard Windows DLLs, but if the DLL
dependencies cannot be counted on being on the user's system, then they
usually have to be distributed with the program.  I assumed C++ could
produce lean, stand-alone executables, but at least in the case of a GUI
program, that does not seem to be the case.  I was surprised at the size
of the MFC fruit basket program:  about 50K when MFC libraries were
assumed to be on the computer and about 225K when statically linked.  Even
after I had installed the platform SDK (which most users would not do) and
set the environment variables as I did for C++/CLI, the original MFC
program would not run on my system.  So, it seems necessary to either
distribute a relatively large .exe file for a small program or distribute
seperate DLLs with it.

Let me be clear that I intend no criticism of Ken.  He got requests to do
an MFC fruit basket program, and he did.  The problem is with MFC, itself.
Because of this and other problems with MFC, I've been researching
alternative GUI libraries that can be used with C++.  I haven't yet
figured out how to compile with Wx (looking forward to Jaffar's
tutorial!), and I know that would be a large executable, but at least the
coding would be considerably easier than MFC.

Besides Wx, the best option for producing accessible GUIs with C++ seems
to be the Window Template Library (WTL).  I've collected documentation on
it at
http://www.EmpowermentZone.com/wtl_doc.zip

If anyone else has experience with this library, and especially
instructions for compiling with VC++ Express, MinGW, or Borland, please
let me know.

Jamal
 On Wed, 21 Nov 2007, Marlon Brandão de Sousa wrote:

> Date: Wed, 21 Nov 2007 09:49:27 -0200
> From: Marlon Brandão de Sousa <splyt.lists@xxxxxxxxx>
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Re: MinGW and Wx
>
> Hello Jamal,
> I don't know much about the borland free compiler. I use c++ builder
> 6, but I didn't try using wxwidgets with it.
> Now, for another topic, you said you don't think it's a good idea to
> have to suply dlls with your project, because one writting a software
> in c++ should be able to deliver executables with no dependencies.
> Well, what happens is that most part of c++ or C softwares do link to
> a dll, the c runtime. In windows, it is the msvc .dll family of files.
> If you do choose another compiler different than vc you will need to
> link with its c runtime. You can choose to link the c runtime
> statically, even on the wx project, by adjusting some flag I am not
> sure where it is, so you don't need to supply aditional dlls with the
> wx ones. But if you do so, you'll have to link all your wx based
> softwares with the c runtime statically also, otherwise it would be
> better to link the wx also dinamically to mingw c runtime.
> The advantage of using vc is that at least some versions of microsoft
> c runtimes are already suplied with windows, so one doesn't need to
> redistribute it. But linking with the c runtime dinamically isn't bad,
> because if every software llinked the c runtime statically then they
> would be bigger and, ence all they would deppend on the c runtime, it
> is better to have the c runtime as dll and let every softwares link to
> it.
> Now, c++ masters like Will, Ken and Sina * and others here * can
> explain you why, because I can't understand ... but the fact is that
> most part of projects I have seen encourage strongly people building
> them to not link the c runtime statically, instead always link
> dinamically with the c runtime. I noticed this kind of recomendation
> in windows and in *nix projects.
> hth
> Marlon
>
> 2007/11/19, Jamal Mazrui <empower@xxxxxxxxx>:
> > Thanks for that info, Marlon.  Can you compare MinGW and the free
> > Borland compiler?
> > Jamal
>
>
>
> --
> When you say "I wrote a program that crashed Windows," people just
> stare at you blankly and say "Hey, I got those with the system, for
> free."
> Linus Torvalds
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

Other related posts: