Calling matlab from c++
Show older comments
Hello! I created a simply matlab funcion
function addFunc(a,b)
plot(a,b);
end
and I compiled it to a lib and dll.
#include "stdafx.h"
#include "engine.h"
#include "addFunc.h"
#pragma comment(lib, "libmat.lib")
#pragma comment(lib, "libmx.lib")
#pragma comment(lib, "libmex.lib")
#pragma comment(lib, "libeng.lib")
#pragma comment(lib, "addFunc.lib")
#pragma comment(lib, "mclmcrrt.lib")
So what next? how can I call this function from VS?
Thanks!
7 Comments
James Tursa
on 16 May 2018
It's not clear what you are trying to do. Why is your code compiled into a lib and dll? What other code is using this lib or dll? Is that other code starting a MATLAB Engine? Are you trying to plot native C++ variables using the MATLAB Engine? Etc etc.
We need more details about what specifically you are trying to do.
Yoni Berk
on 17 May 2018
James Tursa
on 17 May 2018
By "standalone" do you mean running on a machine without MATLAB installed? Or do you mean a program that starts a MATLAB Engine off to the side and sends variables there for processing/plotting?
Yoni Berk
on 17 May 2018
Yoni Berk
on 17 May 2018
Answers (1)
Akshat Dalal
on 12 May 2025
0 votes
Hi Yoni,
My understanding is that the error you are facing regarding "that function or variable 'javaaddpath' is undefined" is expected. This is because the generated code probably has some interfacing with MATLAB which is being used to execute MATLAB code on the MATLAB engine. However, since you're trying to create a standalone application with MATLAB, 'javaaddpath' being an inbuild MATLAB function is undefined. You can debug this further to identify where the MATLAB Engine is being exectued and instead use your own custom piece of code. I might be wrong but this is what seems to be the issue.
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!