[Gdal-dev] Re: Problem using EPSG in C#

Tamas Szekeres szekerest at gmail.com
Fri May 11 18:54:24 EDT 2007


2007/5/11, Tomas R <monshi at home.se>:
> Some Q's arises from what you have written:
> Anyway to single out which DLLs that provide the functions I need?
> If I use my own build of gdal will the dll have the necessary bindings
> to the dll-files distributed with FWtool?

It depends on which parts of the functionality is actually used. Most
of the dll-s are loaded dynamically on demand so you cannot use the
Dependency Walker to find out those ones.
You might use a file monitoring tool like SysInternals filemon to see
which dll-s are to be loaded to your executable. FWTools should
contain all of the dependencies of the GDAL/OGR libraries.

> But on the other hand I guess I can, in the next release of FWTool, grab
> the whole bunch of dlls and data-files and use them. This solution is
> only for a short  time, I will not have to compile gdal myself after
> FWTool has been upgraded.
>

Our intention is to isolate the gdal core functionality from the C#
inteface so these dll-s might also be distributed separately. But
indeed you might use that version without compiling it manually. But
if you have a self-propelling application you might want to distribute
all the necessary files along with your package not requiring the user
to go for additional installers.

> And is it necessary to set the system path to make it possible for the
> Csharp bindings to find the gdal dll? It isn't possible to find them by
> a path stored/computed by my code?
>

I would prefer storing those files in a local place available solely
for your application. Should avoid affecting the system settings and
copying the files in the system directory to keep away the dll hell
issues.  Instead, we might want to maintain multiple versions of the
files side by side as much as we can on a particular system. I think
you cannot alter the dll search paths programatically, but in some
cases you might use environment variables (like GDAL_DRIVER_PATH) to
affect the default behaviour.


Best regards,

Tamas



More information about the Gdal-dev mailing list