Я пытаюсь создать mex
файлы для использования некоторого кода C ++ в Matlab, но сталкиваюсь с ошибкой при компиляции, которая, я думаю, выходит за рамки Matlab. Я на Windows.
Пример, с которым я борюсь, это пример Mex Interface в библиотеке Armadillo для линейной алгебры, доступный: здесь . Файл Matlab - это то, что я запускаю, и это выглядит так:
% Compile the demo as a mex file
mex -lgfortran armaMex_demo.cpp -I/path/to/armadillo
Я получаю ошибку:
Error using mex
MEX cannot find library 'gfortran' specified with the -l option.
MEX looks for a file with one of the names:
libgfortran.lib
gfortran.lib
Please specify the path to this library with the -L option.
Пробуя некоторые вещи, которые я нашел в Интернете, я установил MinGW и cygwin64 и добавил пути к их папкам bin в переменную PATH
. До этого я также устанавливал MinGW через Matlab.
Мой вопрос: как мне связать его с gfortran
?
Если я ищу C:
для libgfortran
, я нахожу некоторые файлы, но ни один из них не имеет файла, заканчивающегося .lib
(но, например, .dll
и .a
), и если я ищу gfortran
, я нахожу некоторые .exe
файлы, но опять же, .lib
файл. Если я запускаю gfortran -dumpversion
в терминале, я получаю 4.9.3
назад, так что он, очевидно, где-то там. Я явно что-то упускаю, и это, по меньшей мере, не моя сильная сторона.