MEX, Mingw and linking libraries
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Yatin
le 26 Fév 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.
Réponses (2)
Guan claim
le 25 Avr 2016
Sorry~ I don't understand that what library it is to contain these orders. is it the blas library?
0 commentaires
timo
le 28 Mar 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 commentaires
Voir également
Catégories
En savoir plus sur MATLAB Support for MinGW-w64 C/C++ Compiler dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!