The namespace would allow us to get away from the define which is a text substitution and is what causes the clash.
However. What about something like #if Defined(USE_LIVE555_NAMESPACES) # define OPENLIVENS namespace { # define CLOSELIVENS } // close namespace LIVE555 # define LIVENS LIVE555:: #else # define OPENLIVENS # define CLOSELIVENS } # define LIVENS #endif Then they do not exist unless you disable the #define USE_LIVE555_NAMESPACES in the main header This message and any attachments contain confidential and proprietary information, and may contain privileged information, belonging to one or more affiliates of Windy City Wire Cable & Technology Products, LLC. No privilege is waived by this transmission. Unauthorized use, copying or disclosure of such information is prohibited and may be unlawful. If you receive this message in error, please delete it from your system, destroy any printouts or copies of it, and notify the sender immediately by e-mail or phone. From: live-devel-boun...@ns.live555.com [mailto:live-devel-boun...@ns.live555.com] On Behalf Of Ross Finlayson Sent: Monday, March 11, 2013 10:05 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Breaking change may be the easiest solution for such issue is to wrap all Live555 functionality in a namespace? And place "using namespace Live555;" somewhere in it's header. Yes, that's certainly a possibility for the future. To date, however, I've avoided using C++ namespaces, because I don't want to risk breaking older compilers that might not support them. Ross Finlayson Live Networks, Inc. http://www.live555.com/
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel