- Construct a header file that declares the simulation function without c++11 syntax
- Compile the C++ project into a shared static library (using '-std=c++11') that contains the definition of the simulation function
- Create a C++ file with a wrapper function that calls the simulation function
- Create a legacy code struct 'def' as in https://www.mathworks.com/help/simulink/examples/c-object-methods-as-legacy-functions.html
- Set def.Options.language = 'C++', def.HeaderFiles = {'simple_header.hpp'}, and def.HostLibFiles = {'shared_static_library.so'}
- Continue to follow the instructions on the above linked page
C++ Flags in Legacy Code Tool
3 views (last 30 days)
Show older comments
I want to compile a large C++ project into an S-function. The C++ project uses C++11.
From the Legacy Code Tool, how can I build with the C++11 compiler? From command line, I would specify C++11 with the flag `-std=c++11`. Is there a way to do such thing with the Legacy Code Tool?
0 Comments
Answers (1)
David Fink
on 2 Oct 2017
While passing '-std=c++11' to the Legacy Code Tool is not currently supported, I have tested the following workaround:
0 Comments
See Also
Categories
Find more on C Shared Library Integration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!