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

Tomas R monshi at home.se
Sat May 12 07:52:57 EDT 2007


In short:
I can copy, from FWTools, the necessary DLLs and distribute them with my 
application. Just see to that they are stored in the same folder as my 
application.  This I actually did during first tests with GDAL so I know 
it work. Now, during development, it is easier to have a system path to 
where the DLL-s are.

Funny thing  is:
Size of program my plugin is for, around 7 MB.
My plugin, about 100 kB.(one dll)
Included GDAL-dlls, about 30 MB.(can probably isolate the dll-s I need, 
down to  15 MB I think)
Not a problem, just... well

Let this discussion rest until I have a fully operational GDAL to work with.

Tamas Szekeres skrev:
> 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