3 messages in com.mysql.lists.plusplusRe: Clarification of Compiling Procedure
FromSent OnAttachments
Robin08 Jul 2005 04:03 
Warren Young08 Jul 2005 05:58 
Chris Frey21 Jul 2005 03:09 
Subject:Re: Clarification of Compiling Procedure
From:Chris Frey (cdf@netdirect.ca)
Date:07/21/2005 03:09:24 AM
List:com.mysql.lists.plusplus

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