3 messages in com.mysql.lists.plusplusRe: Clarification of Compiling Procedure| From | Sent On | Attachments |
|---|---|---|
| Robin | 08 Jul 2005 04:03 | |
| Warren Young | 08 Jul 2005 05:58 | |
| Chris Frey | 21 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




