Making cpp code from Mfile.

Hi all, I would like to use Matlab functions in my cpp project. I used command: mcc -W cpplib:liba -T link:lib odw, where odw is my Mfile. Matlab generated several files: liba.cpp liba.dll liba.exp liba.h liba.lib liba.export. I joined liba.cpp and liba.h to my Cpp, but it doesn't work. It doesn't see mclmcrrt.h and mclcppclass.h. Is it true that i have to join liba.dll too? I create my cpp project in QtCreator.
Thanks for responses! Jan

 Risposta accettata

Kaustubha Govind
Kaustubha Govind il 14 Feb 2012

0 voti

You need to link against liba.lib, and add the directory containing liba.dll to the system PATH. See C++ Shared Library Example.

3 Commenti

jan
jan il 15 Feb 2012
I made it but in Visual Studio. But it doesn't work yet, i have problem with one thing which i found here:
[url]http://www.mathworks.com/support/solutions/en/data/1-2Q3TJ5/?solution=1-2Q3TJ5[/url]
I don't have mclmcrrt.lib in $MATLAB\extern\lib\win32\microsoft. It doesn't exist. I found this library in $MATLAB\extern\lib\win64\microsoft but then i have an error:
1>foowrap.obj : error LNK2019: unresolved external symbol _mclTerminateApplication_proxy referenced in function _main
It's not that library? which should i have link against my project?
Is any solution.
best regards,
Jan
It appears that you have 64-bit MATLAB (the win64 part of the directory path gave it away). Usually, Visual Studio projects are configured to produce a 32-bit binary by default. You need to configure it for an x64 target so it can link against the 64-bit MATLAB libraries.
jan
jan il 17 Feb 2012
It works, really thanks for help!
greetings
Jan.
btw. pretty photo :)

Accedi per commentare.

Più risposte (1)

Titus Edelhofer
Titus Edelhofer il 14 Feb 2012

0 voti

Hi Jan,
I would suggest to run the example from the MATLAB compiler section named "Libraries". Somewhere comes the call to mbuild to compile and link the application using the shared library. If you use the "-v" for the call to mbuild you will see what get's compiled and linked. Add the linked files to your project and it should work.
Titus

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by