openexr-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]