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