SOLVED Errors building math.framework

Hi,

I have set up a new Windows PC, installed Visual Studio 2019 and Cinema 4D R23.110 and and the project tool. Generated the project files for frameworks and plugins. Now I am trying to build the example plugins.

However, any build fails because of errors in math.framework:

Build started...
1>------ Build started: Project: math.framework, Configuration: Debug x64 ------
1>Source processor
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSCurve.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSCurve.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSMath.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSMath.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\big_integer.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\fraction.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\generic_dispatch.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\kdtree.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\kdtree.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\polynomsolver.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\sse_math.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\complex.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\gradientmath.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\scalar_extension.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\splinemapper.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\matrix_nxm.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\quaternion.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\apibasemath_extension.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\blend_animation.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\blend_animation.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\blend_function.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\fft.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\gradient.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\noise.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\apibasemath_extension.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\blend_animation.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\blend_animation.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\complex.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\gradient.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\polynomsolver.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\sse_math.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSCurve.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSCurve.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSMath.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\NURBSMath.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\big_integer.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\fraction.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\generic_dispatch.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\gradientmath.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\quaternion.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\kdtree.cpp...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\matrix_nxm.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\scalar_extension.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\splinemapper.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\blend_function.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\fft.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\kdtree.h...
1>  Parsing C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework\source\maxon\noise.h...
1>Loading generator module cppgenerator from ..\..\..\frameworks\settings\sourceprocessor\generators\cppgenerator.py...
1>Loading generator module dumpgenerator from ..\..\..\frameworks\settings\sourceprocessor\generators\dumpgenerator.py...
1>Loading generator module phgenerator from ..\..\..\frameworks\settings\sourceprocessor\generators\phgenerator.py...
1>Loading generator module summarygenerator from ..\..\..\frameworks\settings\sourceprocessor\generators\summarygenerator.py...
1>Looking for source files in C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework...
1>Summary information changed, redoing source file processing.
1>Looking for source files in C:\Program Files\MAXON\Cinema 4D R23\frameworks\math.framework...
1>register.cpp
1>NURBSCurve.cpp
1>NURBSMath.cpp
1>blend_animation.cpp
1>kdtree.cpp
1>C:\Program Files\MAXON\Cinema 4D R23\frameworks\core.framework\source\maxon\utilities\resultbase.h(571,4): error C2079: 'maxon::ResultBase<RESULT_TYPE>::_value' uses undefined class 'maxon::BlendAnimationRef'
1>        with
1>        [
1>            RESULT_TYPE=maxon::BlendAnimationRef
1>        ] (compiling source file ..\source\maxon\blend_animation.cpp)
1>C:\Program Files\MAXON\Cinema 4D R23\frameworks\core.framework\source\maxon\utilities\resultbase.h(760): message : see reference to class template instantiation 'maxon::ResultBase<RESULT_TYPE>' being compiled
1>        with
1>        [
1>            RESULT_TYPE=maxon::BlendAnimationRef
1>        ] (compiling source file ..\source\maxon\blend_animation.cpp)
1>C:\Program Files\MAXON\Cinema 4D R23\frameworks\core.framework\source\maxon\objectbase.h(1287): message : see reference to class template instantiation 'maxon::Result<maxon::BlendAnimationRef>' being compiled (compiling source file ..\source\maxon\blend_animation.cpp)
1>C:\Program Files\MAXON\Cinema 4D R23\frameworks\core.framework\source\maxon\utilities\resultbase.h(571,4): error C2079: 'maxon::ResultBase<RESULT_TYPE>::_value' uses undefined class 'maxon::BlendAnimationRef'
1>        with
1>        [
1>            RESULT_TYPE=maxon::BlendAnimationRef
1>        ] (compiling source file ..\generated\hxx\register.cpp)
1>C:\Program Files\MAXON\Cinema 4D R23\frameworks\core.framework\source\maxon\utilities\resultbase.h(760): message : see reference to class template instantiation 'maxon::ResultBase<RESULT_TYPE>' being compiled
1>        with
1>        [
1>            RESULT_TYPE=maxon::BlendAnimationRef
1>        ] (compiling source file ..\generated\hxx\register.cpp)
1>C:\Program Files\MAXON\Cinema 4D R23\frameworks\core.framework\source\maxon\objectbase.h(1287): message : see reference to class template instantiation 'maxon::Result<maxon::BlendAnimationRef>' being compiled (compiling source file ..\generated\hxx\register.cpp)
1>Done building project "math.framework.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

In deed, the file blend_animation.cpp in math.framework mentions a class BlendAnimationRef, but that class is only forward-declared in blend_animation.h, but doesn't seem to be implemented anywhere.

Why? And how can I fix it?

Cheers,
Frank

One thing to add: In S24 it just works. Strange. The *blend_animation*.hxx files look identical to me.

Oh, wow. Thank you!
I didn't know about this problem, for some reason it never occurred on my VirtualBox Windows I used for building until recently.

Will read and fix, thanks again!

Cheers,
Frank

Oh yes, it works. Therefore, the topic is solved 🙂

Cheers,
Frank