MEX, Mingw and linking libraries

13 ビュー (過去 30 日間)
Krzysztof Fajst
Krzysztof Fajst 2016 年 1 月 14 日
回答済み: timo 2018 年 3 月 28 日
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 件のコメント
Walter Roberson
Walter Roberson 2016 年 1 月 14 日
Sorry, I do not know.
Yatin
Yatin 2016 年 2 月 26 日
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.

サインインしてコメントする。

回答 (2 件)

Guan claim
Guan claim 2016 年 4 月 25 日
Sorry~ I don't understand that what library it is to contain these orders. is it the blas library?

timo
timo 2018 年 3 月 28 日
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

Community Treasure Hunt

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

Start Hunting!

Translated by