Error using mex: undefined reference for user build package

I run into the the following issue when I try to compile a user-build mex function :
>> mex kalcvf.c
Building with 'gcc'.
Error using mex
/tmp/mex_40203179616654_15298/kalcvf.o: In function `kalcvf':
kalcvf.c:(.text+0x120): undefined reference to `dcopy_'
(...)
the folder includes several files, such as
dlyap.c
kalcvf.c
kalcvf.def
kalcvf.vcproj
kalcvf.vcxproj
kalcvf.filters
kalcvf.user
matlib.c
matlib.h
and in a parent directory
mex.ncb
mex.sdf
mex.sln
What additional steps do I need to take in order to compile the mex function?

4 Commenti

dcopy_ belongs the BLAS libraries. Did you include them?
mex kalcvf.c libmwlapack.lib libmwblas.lib
Jan, many thanks for this.
I indeed did not use those libraries (and did not know I should). Running the code returns the following error
Error using mex
gcc: error: libmwlapack.lib: No such file or directory
gcc: error: libmwblas.lib: No such file or directory
I did not find those files anywhere in my matlab folder, nor online. Where should I look? (I am running Matlab 2019a 64bit on a Linux Ubuntu 18.04).
Any pointer is much appreciated!
mex -v -R2017b yourFcn.c -lmwblas
[MOVED to the section for answers]
Perfect, this did the trick:
mex -v -R2018a kalcvf/kalcvf.c kalcvf/dlyap.c kalcvf/matlib.c -lmwblas -lmwlapack

Accedi per commentare.

Più risposte (1)

Try looking in the MATLAB/R2019a/extern/lib folder for versions of these files appropriate for your system. They might have slightly different names than above, but should have lapack and blas as part of the names.

Categorie

Richiesto:

il 15 Lug 2019

Modificato:

Jan
il 17 Lug 2019

Community Treasure Hunt

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

Start Hunting!

Translated by