Skip to content

Compiling in Windows

Ali Aghaeifar edited this page Mar 14, 2022 · 2 revisions

Compiling a mex file in MATLAB (>R2018)

Using Windows parallel_for library for multi-threading:

mex -I'C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include' ...
    -L'C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64' ...
    -L'C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\compiler\lib\intel64_win' ...
    -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -llibiomp5md ...
    MATLAB_example/bloch_mex.cpp bloch.cpp -R2018a

Using tbb library for multi-threading:

mex -I'C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include' ...
    -L'C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64' ...
    -L'C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\compiler\lib\intel64_win' ...
    -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -llibiomp5md ...
    -I'./oneapi-tbb/include' ...
    -L'./oneapi-tbb/lib/intel64/vc14' ...
    -ltbb -D_TBB ...    
    MATLAB_example/bloch_mex.cpp bloch.cpp -R2018a

Using OPENMP for multi-threading:

mex -I'C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include' ...
    -L'C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64' ...
    -L'C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\compiler\lib\intel64_win' ...
    -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -llibiomp5md ...
    COMPFLAGS="$COMPFLAGS /openmp" ...
    MATLAB_example/bloch_mex.cpp bloch.cpp -R2018a
Clone this wiki locally