I am maintaining a C++ application that requires Maple code generation features to produce C code.

This application uses the EvalMapleStatement (kv, statement) function, where 'statement' is actually a CodeGeneration[C](...); command.

The application has worked correctly before, and the generated code has been incorporated as modules into other applications that make use of it.

From some coments in the code, it seems that Maple 9.5 version was used at the time. I now had to rebuild the application on another system, so it is now linked to Maple 11.

The problem that has come up is that the CodeGeneration[C](...); statement will now be returned 'as is' without being evaluated (i.e. the code is NOT generated as before, but the command is returned as if it had not been evaluated as a statement, even).

However, if instead of the CodeGeneration[C](...); statement an eval(x^2, x=3); statement is supplied, Maple will return the expected numerical result 9, from which I understand that at least the statement submitted is not taken as e.g. a string, or the like.

Any hints on what to look for in order to 'trigger' the code generation engine  will be greatly appreciated. The only changes that have occurred in between the 'original' and 'actual' versions of the C++ application I will have to refactor is that the Maple engine called now is a newer version, and -being located in a different path than its predecessor version- the compiler's command line had to be updated to find the required header files and libraries.





Please Wait...