Mex select wrong linker

3 views (last 30 days)
Matteo Lodi
Matteo Lodi on 14 Mar 2018
Commented: Wilson González on 14 May 2021
I have a problem with mex linker.
I have two files a.cpp and b.cpp and I create both object files a.obj and b.obj through mex -c command. Now I want to create the executable mex file through mex a.obj b.obj but when I try I get the error "undefined reference to operator new". Then I try with -v and -n options and I see that matlab uses gcc to link files instead of g++!
How can I manually switch between c\c++ compiler?
  2 Comments
Michal Misiaszek
Michal Misiaszek on 31 Jul 2019
I have same problem and mex -setup c++ does not solve it.
Michal Misiaszek
Michal Misiaszek on 31 Jul 2019
The solution is to give mex flag
mex -cxx

Sign in to comment.

Answers (2)

Michal Misiaszek
Michal Misiaszek on 31 Jul 2019
Try to use
mex -cxx

Sonam Gupta
Sonam Gupta on 26 Mar 2018
mex -setup command helps you to select the desired compiler. Following documentation provides more information about the same:
  2 Comments
Michal Misiaszek
Michal Misiaszek on 31 Jul 2019
I use mex -setup command to set it to C++ but when I call mex to link object files it goes back to C instead of C++. How I can force mext to use g++ ? Please note I am just linking with MEX not compiling.
Wilson González
Wilson González on 14 May 2021
Having a similar situation to link .o files previously compiled with gfortran. Have you found a solution?

Sign in to comment.

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!