MEX, Mingw and linking libraries
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm trying to compile some code under win7 64bit with MATLAB which compiles well under Linux. For this I use MEX with Mingw and gcc compiler.
My original Linux MEX command was looking like this
mex CFLAGS="\$CFLAGS -Wall -fomit-frame-pointer -m32 -msse2 -mfpmath=sse -ffast-math" -lmwblas -lmwlapack -lmx -lmex -lmat -lm hkmeans_predict_dense.cpp
so I converted it to link a libraries from MATLAB directory
mex -f mingw.bat -L"C:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft\" CFLAGS="\$CFLAGS -Wall -fomit-frame-pointer -m32 -msse2 -mfpmath=sse -ffast-math" -lmwblas -lmwlapack -lmx -lmex -lmat hkmeans_predict_dense.cpp
I don't get any error about missing library but I'm getting undefined reference to `dgemm_' which points to some missing lapack function.
So my question is:
1) Was it OK to link libraries from MATLAB win64\microsoft\ directory but using gcc compiler ?? Are they compatibile with gcc ??
2) if not from where I can get such prebuild libraries for gcc under windows ??
Krzysztof
4 comentarios
Yatin
el 26 de Feb. de 2016
Hello Krzysztof,
You should not be linking against the libraries in $matlabroot\extern\lib\win64\microsoft folder when using MinGW Compiler. Instead you should link against the libraries in the folder $matlabroot\extern\lib\win64\mingw64 when using MinGW Compiler.
Hope this helps.
Respuestas (2)
Guan claim
el 25 de Abr. de 2016
Sorry~ I don't understand that what library it is to contain these orders. is it the blas library?
0 comentarios
timo
el 28 de Mzo. de 2018
I think MSVC and MinGW operate differently w.r.t. expected extensions. While MSVC normally creates static libraries with a .lib extension, MinGW/MSYS respects the Unix defaults and requires a .a
0 comentarios
Ver también
Categorías
Más información sobre MATLAB Support for MinGW-w64 C/C++ Compiler 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!