[Proj] Proj 4.9.1RC4 Released

Greg Troxel gdt at ir.bbn.com
Tue Mar 3 16:53:23 PST 2015


nicolas david <ericnico.david at gmail.com> writes:

> Being the guy behind proj4-cmake old repository I supect to be also the guy
> who wrote this warning.
> If a remember well is due to the fact that nad2nad and nad2bin include
> "project.h" and not "proj_api.h". So as on windows dll only include
> (export) symbol defined in proj_api.h ( more precisely in proj.def) I was
> thinking that when you include "project.h" it's better to link to static
> lib in order to have all symbol defined.
>
> I'm note 100% of this fact and I could be wrong but I think it was the
> explanation of this warning.  Looking deeper in the code it seems that
> nad2bin only use struct defined in project.h and not function so it could
> work.

I do not understand windows linking, but this seems odd to me.  It would
seem that dynamic vs static linking of libraries in an executable should
not affect the behavior, or there's a bug.

What the shared library exports, and what is in scope for the compiling
program are at least on Unix separate issues.  What's exported are
global variables in the implementation of the library.  What's in scope
to use are declarations from the .h.   Sane practice is to compile the
implementation against the same .h (at least).

Linking to a library that doesn't defined all the used symbols should
fail, whether done static or dynmaic.

(But if this affects only Windows, then I have only minor academic
curiousity.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 180 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20150303/1d414a5f/attachment.sig>


More information about the Proj mailing list