Subject Re: [firebird-support] Re: FB install questions.
Author Helen Borrie
At 03:02 AM 9/03/2004 +0000, you wrote:
>--- In firebird-support@yahoogroups.com, "Chris Donges" <chrisd@p...>
>wrote:
> > You need Firebird-1.5.0.4290_embed_win32.zip
> >
> >
> > Christoph
>
>Thanks Christoph:
>
> I tried that.
>
> I installed the files as directed in the release
>notes.
>
> Microsoft Visual C++ inserts a leading underscore
>in exported symbols, and expects the same from DLLs
>it uses.
>
> The DLLs in Firebird-1.5.0.4290_embed_win32.zip
>export symbols without the leading underscore. The
>linker can't find them.
>
> I've asked in the win32 newsgroup. I now believe
>there is no way for MSVC to link to those DLLs. If
>you know of a way I'm interested.

What are you trying to "link" to? The dll exposes the API - that is its
purpose. The only "linking" your app needs to know about is the headers in
your Firebird \include directory. As for the client dll, just call
(whatever is the C++ equivalent of ) LoadLibrary, to load the API into
memory. Then, pass the API function calls to it, starting with an
attachment to the database. (Yes, even in embedded you still have to
connect...)
As others have commented, direct-to-API from your app will be the hard
way to do things. There are encapsulations available of the API function
calls (e.g. IBPP) that save you having to build the parameter structures
yourself.

Still not clear what you're expecting to do here - are you trying to
statically link the client dll, or something? A dll is a compiled object,
like a shared object on *x. I can't work out what you need those exported
symbols for...all of the OSRI entrypoints are in ibase.h

/hb