From: Date: July 21 2005 12:09pm Subject: Re: Clarification of Compiling Procedure List-Archive: http://lists.mysql.com/plusplus/4675 Message-Id: <20050721100946.GA17420@netdirect.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Fri, Jul 08, 2005 at 06:58:34AM -0600, Warren Young wrote: > Robin wrote: > > > >First I created a Static Library (.a) project > > Is your program GPL or LGPL? If not, you need to create a DLL. You > can't do that with v1.7, but I'm in the process of getting this working > with VC++ for v2.0. I'm pretty sure the process is similar under MinGW, > but you'll have to figure it out, because I'm not likely to install > MinGW myself. At best, I'll try building under Cygwin with -mno-cygwin. This is an old message, but curiosity caused me to read the LGPL again. It is allowed to distribute non-GPL EXE's based on an LGPL'd static library, but according to section 6a of the license, you must also distribute all your object files and anything else that the end user needs to recompile the final EXE. This allows the end user to make changes to the LGPL'd library and relink to have a new EXE based on it, as long as the newly built library is is ABI compatible with the original. Also, section 6 says that the license for the EXE (which does not have to be GPL style) must allow the end user to reverse engineer your binary, and modify that binary (say, with a hex editor). As far as I can see, this reverse-engineering restriction applies to EXE's that use LGPL'd DLL's too. These are some interesting hurdles to releaseing EXE's using LGPL'd libraries, but it is possible. Warren has already done the work needed to produce a mysql++ DLL, from what I see in the code, so this is somewhat moot. Thought I'd clarify anyway. - Chris