List:MySQL++« Previous MessageNext Message »
From:Patrick McMichael Date:August 2 2005 10:21pm
Subject:RE: Cygwin/Win32/V2.0beta/library help! (MySQLC++ newbie)
View as plain text  
(Sorry Warren, just realized I forgot to send this to the whole list...)


Thanks for getting back to me, and for updating the cygwin build
instructions, all very helpful.  I think, though, I am still missing
something (or maybe even a whole number of things). My misunderstandings on
libraries aside, which type (dynamically linked or static) of library is
generated by default with configure/make?  The configure command says that
by default it builds a --enable-shared=yes library, which I would assume is
either going to be a .so or a .dll, right?  When I follow your instructions
to the 't' everything works perfectly, and all my examples get built without
errors, but I can't find a ".dll" or a ".so" anywhere!  All I see are .exe's
in the example directory, .o's in the lib directory and in lib/.libs I find:
libmysqlpp.a, and libmysqlpp.lai.  I would guess that the
libmysqllpp.a file is my MySQL++ library compiled for cygwin, but isn't '.a'
a static library file extension?  And I can't use a static library in a
commercial application, can I?  The other two files '.la' and '.lai' are
ASCII and are virtually identical, claiming to be 'libtool library' files.

Needless to say, if it is a static library, then it should have been
compiled into the example apps, and none of the example apps run; they all
segfault (I only tried 3 or 4 of them, usequery, simple1, simple2, etc).

Part of my problem I think is that I don't really understand libraries on
either Win32 OR Unix/Linux, and I'm trying to learn them in Cygwin, which is
like a hodgepodge of the two....

Hey, I liked the "twist it's arm" expression, sorry to see it go..

Which MinGW utilities are used?  If it's only pexports it can easily be
downloaded, and extracted to the C:\cygwin\bin directory from here (no
building required):

The "libmysql.dll" has to be somewhere in the path, correct?  I am assuming
that copying the dll to something like "C:\WINDOWS\system32" or prepending
"C:\mysql\lib\opt" to the PATH variable is acceptable to accomplish this?
I've done both, but neither seems to be working.

>> I can't find anyone who will tell me the difference between an Exports
>> Library File and Import Library File
>I've never heard of an "exports library file".
>An import library is a small library that tells the linker how to link 
>against a DLL.  Think of it as details about a DLL's interface distilled 
>down into a .lib (or in the case of Cygwin, .a) file.
>> what the purpose of the C/C++ Inline File 
>I don't know what that is, either.  Where do you see that?

Regarding the "Exports Library File" and the "C/C++ Inline File" these are
the file types given by Windows to the ".exp" and ".lib" files respectively
when I build MySQL++ under VS .NET 7.1.  When I hit build in Visual Studio,
it builds "mysql++.dll", "mysql++.exp", and "mysql++.lib" files along with
all the individual ".obj" object files.  None of them are ASCII, but I
assume they each have a purpose.

Also, I've tried running pexports and dlltool on the MySQL++ .dll I
generated with Visual Studio, but it causes dlltool to crash.  Bummer.

Thanks again for the help, and any further assistance you could offer would
be of great value.

-Patrick McMichael

Cygwin/Win32/V2.0beta/library help! (MySQLC++ newbie)Patrick McMichael1 Aug
  • Re: Cygwin/Win32/V2.0beta/library help! (MySQLC++ newbie)Warren Young1 Aug
    • RE: Cygwin/Win32/V2.0beta/library help! (MySQLC++ newbie)Patrick McMichael3 Aug
      • Re: Cygwin/Win32/V2.0beta/library help! (MySQLC++ newbie)Warren Young3 Aug
        • Re: Cygwin/Win32/V2.0beta/library help! (MySQLC++ newbie)Warren Young4 Aug