Hello Thomas,
A macro takes care of this, CMSAPI.
For gcc you may want to change lcms2.h line 239 to this:
#define CMSAPI __attribute__((visibility("protected")))
Windows uses some similar:
define CMSAPI __declspec(dllexport)
The standard distribution does not include that because it is supposed
to be C99 portable, though it seems almost everyone is using either VS
or gcc and compatibles like Intel's icc. I was evaluating the
possibility of including this in a conditional define, but it has
implications. For example in the the testbed, as you have already
discovered. So for now is not in the to do list.
The testsuite is a special program, not a "real" .so client. Its purpose
is to validate the platform, it can be checked with the static library
only, for example.
Regards
Marti
On 29/01/2017 16:06, Thomas Weber wrote:
Hi,
I am trying to change the autoconf build system such that
functions/symbols from lcms2_internal.h are no longer exported in the
shared library, similar to the Windows build. This has progressed fine
so far, but the testsuite uses several of these functions (see attached
diff). If they are no longer publicly available in the shared library,
testbed/testcms cannot be built.
How is the Windows build working around this?
Thanks
Thomas
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Lcms-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Lcms-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user