Alan W. Irwin wrote: > > 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.
I agree that we need to take of both systematically importing and exporting these symbols. The issue does raise a few questions: - At compile time (for the examples) we need to know if the libraries will be dynamic (DLL or so or dylib) or static. I know we pay little attention nowadays to static libraries, but it could be an issue. - Are symbols imported from the C library to accommodate the Fortran or other bindings automatically visible via these other libraries? I mean: is the visibility transitive? We would still get some namespace cluttering. Whether that is an important issue, I do not know. - The Fortran and other bindings will have to use both explicit importing and explicit exporting - this will lead to some macro gymnastics, won't it? Well, I am going to see how we can solve these visibility issues consistently. (The combinatorics are getting interesting, but not yet overwhelming :)) Regards, Arjen ------------------------------------------------------------------------- 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