On 2008-09-10 18:08+0100 Andrew Ross wrote: > On Wed, Sep 10, 2008 at 09:22:48AM -0700, Alan Irwin wrote: >> [...]Also, notice that libplplotd uses >> some DLL symbols and also makes others. That is handled by PROPERTIES >> COMPILE_FLAGS "-DMAKINGPLDLL -DUSINGCSADLL -DUSINGNNDLL". Similarly, >> shouldn't libplplotcxxd be using C symbols from libplplotd and also making >> C++ symbols available? There is no difference between what attributes are >> assigned for GCC for the import and export cases, but that is not true of >> proprietary Windows compilers so I would think you would have to continue >> the distinction between USING<LIBNAME>DLL and MAKING<LIBNAME>DLL that you >> started with libplplotd in order for your logic to work correctly for >> libplplotcxxd visibility. >> > > Alan, > > The plstream class is marked as PLDLLIMPEXP and this will be passed on > to all member functions, so there is only need for the one definition. > See the gcc visibility wiki for a brief explanation (at the bottom). You > need to know a little about C++ terminology to decipher it.
Hi Andrew: I still have a difficult time wrapping my head around OO terminology so thanks for that explanation. So in sum it appears from your explanation that all should be well for C++ visibility for Linux, and you have verified that by using g++ -fvisibility=hidden on at least one of your Linux platforms. I am still concerned about the above distinction between USING<LIBNAME>DLL and MAKING<LIBNAME>DLL that affects only the Windows case. "-DMAKINGPLDLL" is used as a property for the libplplotcxxd source code so the C++ symbols should be exported from libplplotcxx okay on Windows. But doesn't libplotcxxd need to import symbols from libplplotd on windows similar to the way that libplplotd imports symbols from libcsirocsa and libcsironn? I assume Werner or Arjen are in the best position to give me an answer to that question so it is mostly directed to them. 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