mex failing to compile function
125 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ron Crump
el 30 de Sept. de 2025 a las 14:35
Comentada: Ron Crump
el 10 de Oct. de 2025 a las 11:04
Hi.
I'm trying to compile functions previously compiled with mex in MATLAB
>> mex Cbetabinornd.cpp
Now gives the following error message:
Renamed options file '/Users/lfslbx/Library/Application Support/MathWorks/MATLAB/R2025b/mex_C++_maca64.xml' to '/Users/lfslbx/Library/Application Support/MathWorks/MATLAB/R2025b/mex_C++_maca64_backup.xml'.
Building with 'Xcode Clang++'.
Error using mex
Undefined symbols for architecture arm64:
"_mexCreateMexFunction", referenced from:
<initial-undefines>
"_mexDestroyMexFunction", referenced from:
<initial-undefines>
"_mexFunctionAdapter", referenced from:
<initial-undefines>
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
If I use the -v option there is a lot of information, I can paste it here if required.
I think this has happened since my last MacOS upgrade (to Sequoia 15.7) and/or xcode command line tools update (clang++ version 17.0.0).
I have tried uninstalling and reinstalling the xcode command line tools and have installed MATLAB 2025b (it was failing on 2023b also).
Any suggestions welcomed.
Thanks.
0 comentarios
Respuesta aceptada
Ron Crump
el 8 de Oct. de 2025 a las 12:48
Movida: Torsten
el 8 de Oct. de 2025 a las 12:51
2 comentarios
Bruno
el 10 de Oct. de 2025 a las 10:41
The problem seems to be caused by a bug in the latest version of xcode command line tools. For those who can't (or don't want to) switch to the C++ API, a temporary workaround is to pass the -ld_classic flag to the linker. When using the mex command, the right invocation should be something like
mex LINKFLAGS='$LINKFLAGS -ld_classic' source.cpp
Más respuestas (0)
Ver también
Categorías
Más información sobre Write C Functions Callable from MATLAB (MEX Files) en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!