[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openexr-devel] CTL and Imf2.0
From: |
Piotr Stanczyk |
Subject: |
Re: [Openexr-devel] CTL and Imf2.0 |
Date: |
Wed, 10 Apr 2013 15:31:42 +0000 |
Hi,
You can rebuild the sources with the --enable-namespaceversioning=no which
will revert to the old behaviour. However, whilst the classes are indeed in
Imf_2_0, they should be visible in Imf also.
The file ImfNamespace.h contains the details of the mechanism
// The purpose of this file is to have all of the Imf symbols defined within
// the OPENEXR_IMF_INTERNAL_NAMESPACE namespace rather than the standard Imf
// namespace. Those symbols are made available to client code through the
// OPENEXR_IMF_NAMESPACE in addition to the OPENEXR_IMF_INTERNAL_NAMESPACE.
//
// To ensure source code compatibility, the OPENEXR_IMF_NAMESPACE defaults to
// Imath and then "using namespace OPENEXR_IMF_INTERNAL_NAMESPACE;" brings all
// of the declarations from the OPENEXR_IMF_INTERNAL_NAMESPACE into the
// OPENEXR_IMF_NAMESPACE.
// This means that client code can continue to use syntax like
// Imf::Header, but at link time it will resolve to a
// mangled symbol based on the OPENEXR_IMF_INTERNAL_NAMESPACE.
//
// As an example, if one needed to build against a newer version of Imath and
// have it run alongside an older version in the same application, it is now
// possible to use an internal namespace to prevent collisions between the
// older versions of Imath symbols and the newer ones. To do this, the
// following could be defined at build time:
//
// OPENEXR_IMF_INTERNAL_NAMESPACE = Imf_v2
//
// This means that declarations inside Imath headers look like this (after
// the preprocessor has done its work):
//
// namespace Imf_v2 {
// ...
// class declarations
// ...
// }
//
// namespace Imf {
// using namespace Imf_v2;
// }
//
Are you seeing build failures in your case?
Thanks
Piotr
________________________________________
From: address@hidden address@hidden on behalf of Gonzalo Garramuno
address@hidden
Sent: 10 April 2013 07:57
To: address@hidden
Subject: [Openexr-devel] CTL and Imf2.0
I am trying to use CTL with OpenEXR 2.0 and find out that the main
headers are now under the Imf_2_0 namespace, while CTL expects them in
the Imf namespace.
I was wondering what's the proper way to go around this.
_______________________________________________
Openexr-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/openexr-devel