On 2008-09-11 09:11+0200 Arjen Markus wrote:

> Werner Smekal wrote:
>
>> 
>> I think that you are actually right. We would need MAKINGPLCXXDLL (for the 
>> source) and USINGPLCXXDLL (for the examples) definitions. And since the 
>> cpp library uses c functions from liplplotd USINGPLDLL must be defined. I 
>> wonder, why it worked so far for Windows.
>
> Hi Werner,
>
> a quick scanning of the documentation on dllimport 
> (http://msdn.microsoft.com/en-us/library/twa2aw10.aspx
> and others), gave me the impression (though not the confirmation) that 
> dllimport is especially important for
> global _data_ residing in the DLL. We do not use that sort of things in 
> PLplot, which is probably why things work.

Nevertheless, every time there is a Windows visibility issue, you would
wonder whether ignoring dllimport for the undefined symbols for some of our
libraries is the culprit.  Furthermore, for consistencies sake, since the
import issue is treated properly for libplplotd it should be done that way
for our other libraries as well.  Finally, I think it is fundamentally
worthwhile to keep track of which symbols are exported (i.e., defined by the
library) and which are imported (undefined by the library).

Therefore, I encourage you to go ahead and make the changes to honor the
import/export distinction for libplplotcxxd the way they are currently done
for libplplotd.

Also, it's possible this issue may be causing real visibility problems for
our Fortran (77 and 95) support libraries for MinGW so I recommend the same
thing there. That is, our pure-C Fortran support libraries (libplplotf77cd
and libplplot f95cd) should import symbols from libplplotd and export them
to the pure Fortran libraries (libplplotf77d and libplplotf95d), the pure
Fortran libraries should import symbols from the pure-C Fortran support
libraries and export the Fortran symbols for our Fortran examples, and the
Fortran examples should import the Fortran symbols from our pure-Fortran
libraries.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to