Specify compiler options for mex command

54 visualizaciones (últimos 30 días)
Jan
Jan el 6 de Dic. de 2015
Comentada: Hartmut Schorrig el 19 de Sept. de 2023
I compile C-Mex files with the Windows SDK7.1 compilers. Some C-Mex functions profit from the optimization flags "/GL /fp:fast", some other functions don't.
In e.g. Matlab <= R2011b I've created 2 different mexopts.bat files, one with these flags and the other without. Then
mex -f mexopts_Fast.bat ....
is used for compiling with these flags.
After upgrading to R2015b I find in the docs:
Do Not Use mex -f optionsfile Syntax
The mex command -f option to specify a build configuration file
will be removed in a future release.
How can I control the compiler's optimizations flags without using the -f syntax? I did not find a method to provide them as arguments for the mex command.

Respuesta aceptada

James Tursa
James Tursa el 7 de Dic. de 2015
Maybe try some variant of the following:
filename = your source code file name
compiler_option = '/GL /fp:fast';
mex(filename,['COMPFLAGS="$COMPFLAGS ' compiler_option '"']);
  1 comentario
Jan
Jan el 27 de Dic. de 2015
What a pitty that mex.getCompilerConfigurations('c') does not offer a method to add an optimitzation flag dynamically.

Iniciar sesión para comentar.

Más respuestas (1)

JzHartmut
JzHartmut el 18 de Oct. de 2017
See Mathworks help mex You can write in a matlab script line:
mex -g COMPFLAGS='$COMPFLAGS /TP /EHa' ...
files etc.
The COMPFLAGS variable is enhanced. It is used for the installed compiler. In this case that are options for Microsoft Visual Studio.
  4 comentarios
Yavuzhan Erdem
Yavuzhan Erdem el 19 de Sept. de 2023
Can I add the flag to visual studio sfun project ? I am using rtwbuild function and the system is consisting of many subsystems.
Hartmut Schorrig
Hartmut Schorrig el 19 de Sept. de 2023
I think using a Visual Studio Project is not in focus, may be not possible. The mex line calls the compiler itself as internal command line. The options after -g are forwarded to the compiler call. Get your own experience.
I don't know yet whether and where the effective called compiler command can be monitored to check what's exact happen. But that will be helpfully.

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB Compiler en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by