Mex select wrong linker

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 件のコメント

Michal Misiaszek
Michal Misiaszek 2019 年 7 月 31 日
I have same problem and mex -setup c++ does not solve it.
Michal Misiaszek
Michal Misiaszek 2019 年 7 月 31 日
The solution is to give mex flag
mex -cxx

サインインしてコメントする。

回答 (2 件)

Michal Misiaszek
Michal Misiaszek 2019 年 7 月 31 日

1 投票

Try to use
mex -cxx
Sonam Gupta
Sonam Gupta 2018 年 3 月 26 日

0 投票

mex -setup command helps you to select the desired compiler. Following documentation provides more information about the same:

2 件のコメント

Michal Misiaszek
Michal Misiaszek 2019 年 7 月 31 日
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 2021 年 5 月 14 日
Having a similar situation to link .o files previously compiled with gfortran. Have you found a solution?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeExternal Language Interfaces についてさらに検索

タグ

質問済み:

2018 年 3 月 14 日

コメント済み:

2021 年 5 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by