Convert MATLAB code to C++ code

3 次查看(过去 30 天)
I have a simple function in M-function file which I want to convert to C++.
After following all the steps mentioned in the Documentation, I got the .cpp file ... However when I run this file in Visual studio, I got the following error: "error LNK1561: entry point must be defined" since the code doesn't have int main() at the beginning.
This is the generated c++ code:
/* * emcrand.cpp * * Embedded MATLAB Coder code generation for function 'emcrand' * * C source code generated on: Sat Apr 14 17:24:57 2012 * */
/* Include files */ #include "rt_nonfinite.h" #include "emcrand.h" #include "rand.h"
/* Type Definitions */
/* Named Constants */
/* Variable Declarations */
/* Variable Definitions */
/* Function Declarations */
/* Function Definitions */ real_T emcrand(void) { return m_rand(); }
/* End of Embedded MATLAB Coder code generation (emcrand.cpp) */
Would you please help finding what and where possibly could be the error ? Why the .cpp file doesn't have the int main() as it should be ?
Thanks.

采纳的回答

Rick Rosson
Rick Rosson 2012-4-14
MATLAB Coder does not generate a main() function for you. You have to write this function yourself in C or C++ and include it in the parent project before compiling the generated code.
  1 个评论
deep
deep 2012-4-15
Thanks a lot.
I wrote the main function in C++ as you suggested. I called the generated code from this main function as follows:
/*
** main.c
*/
#include <stdio.h>
#include <stdlib.h>
#include "emcrand.h"
#include "emcrand_initialize.h"
#include "emcrand_terminate.h"
int main()
{
emcrand_initialize();
printf("emcrand=%g\n", emcrand());
emcrand_terminate();
return 0;
}
When I run the above code, unfortunately I have the following errors:
1. error LNK2001: unresolved external symbol "unsigned int v4_state" (?v4_state@@3IA) file: emcrand_initialize.obj
2. I receive also errors: LNK2019 and LNK1120
I think all the errors are related but I have no idea how to resolve them.
Please Help me !!!!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Deploy to C++ Applications Using MATLAB Data API (C++11) 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by