<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Support for C++20]]></title><description><![CDATA[<p dir="auto">Hello guys,</p>
<p dir="auto">We use the Cineware SDK in our projects for a long time (way back from when it was still called Melange). Now the projects had evolved and we needed to update the compiler and STL to include some new features. Cineware SDK is preventing us from doing so because it's not compatible with the new c++20 nomenclature.</p>
<p dir="auto">Is there a way to fix this sooner than later?<br />
Here are some of the error being output by the compiler:</p>
<pre><code>\include\private_ge_mtools.h(633,4): error C2065: 'objectToDelete': undeclared identifier
\include\private_ge_mtools.h(687): message : see reference to class template instantiation 'cineware::GeTempDynArray&lt;TYPE&gt;' being compiled
\include\private_ge_mtools.h(633,4): error C3861: 'objectToDelete': identifier not found
\include\private_ge_mtools.h(674,4): error C2065: 'objectToDelete': undeclared identifier
\include\private_ge_mtools.h(674,4): error C3861: 'objectToDelete': identifier not found
\include\private_ge_mtools.h(750,4): error C2065: 'objectToDelete': undeclared identifier
\include\private_ge_mtools.h(754): message : see reference to class template instantiation 'cineware::GeTempDynStack&lt;TYPE&gt;' being compiledAdded new preview/snapshot window;
\include\private_ge_mtools.h(750,4): error C3861: 'objectToDelete': identifier not foundLong object names are now clipped and faded in the scene window;
\include\private_ge_mtools.h(936,4): error C2065: 'objectToDelete': undeclared identifierFixed "Reload Texture" not refreshing the preview;
\include\private_ge_mtools.h(990): message : see reference to class template instantiation 'cineware::GeTempDynSortSearchArray&lt;TYPE,SEARCH,FLUSH&gt;' being compiledFixed text overlap in the edit window (map channel filename);
\include\private_ge_mtools.h(936,4): error C3861: 'objectToDelete': identifier not found
\include\private_ge_mtools.h(3122,14): error C2065: 'm_Allocated': undeclared identifier
\include\private_ge_mtools.h(3337): message : see reference to class template instantiation 'cineware::SortedArray&lt;TYPE,BLOCK&gt;' being compiled
</code></pre>
<p dir="auto">This is for calling the following define in c4d_system.h</p>
<pre><code>#define DeleteObj(obj) \
	do { \
		ALLOC_TYPENAME ::std::remove_reference&lt;decltype(obj)&gt;::type* objectToDelete = &amp;(obj); \
		if (*objectToDelete) { \
			typedef ALLOC_TYPENAME ::std::remove_pointer&lt;ALLOC_TYPENAME ::std::remove_pointer&lt;decltype(objectToDelete)&gt;::type&gt;::type CtorType; \
			((CtorType*) (*objectToDelete))-&gt;~CtorType(); \
			void* tmpToDelete = *objectToDelete; \
			cineware::MemFree(tmpToDelete); \
			*objectToDelete = nullptr; \
		} \
	} while (false)	// While ensures the user has to set a semicolon after DeleteObj
</code></pre>
<p dir="auto">Thank you.</p>
]]></description><link>http://developers.maxon.net/forum/topic/14296/support-for-c-20</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 09:43:40 GMT</lastBuildDate><atom:link href="http://developers.maxon.net/forum/topic/14296.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Dec 2022 11:46:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Support for C++20 on Wed, 07 Dec 2022 13:40:56 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the reply.</p>
<p dir="auto">No problem if it's not backwards compatible. We will adapt our code to the latest version of the SDK.<br />
Thank you.</p>
]]></description><link>http://developers.maxon.net/forum/post/70320</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/70320</guid><dc:creator><![CDATA[megamau]]></dc:creator><pubDate>Wed, 07 Dec 2022 13:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to Support for C++20 on Wed, 07 Dec 2022 09:25:54 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/megamau">@<bdi>megamau</bdi></a>, first of all welcome in the plugincafe community.</p>
<p dir="auto">Currently our code base is not yet C++ 20 compliant. This is something we are looking into, however when this will be available this will not be back-ported to previous versions. You can try to manually adapt your code, but I'm not sure this is 100% possible due to some operators change from this version and therefor may cause incompatibility with the compiled binaries provided. In any case this is not something we are going to support neither have the ability to help you doing it.</p>
<p dir="auto">Cheers,<br />
Maxime.</p>
]]></description><link>http://developers.maxon.net/forum/post/70314</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/70314</guid><dc:creator><![CDATA[m_adam]]></dc:creator><pubDate>Wed, 07 Dec 2022 09:25:54 GMT</pubDate></item></channel></rss>