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

Reply via email to