無効なMEXファイルの改善方法について

15 vues (au cours des 30 derniers jours)
Hideaki Yamagata
Hideaki Yamagata le 22 Fév 2018
Réponse apportée : michio le 22 Fév 2018
下記のエラーが表示されます。 どのように改善すればよいかご教示ください。
無効な MEX ファイル 'c:\spm8\spm8\external\fieldtrip\fileio\private\ft_getopt.mexw64': 依存する共有ライブラリがありません: 'c:\spm8\spm8\external\fieldtrip\fileio\private\ft_getopt.mexw64' で必要とされる 'MSVCR80.dll'
'c:\spm8\spm8\external\fieldtrip\fileio\private\ft_getopt.mexw64' で必要とされる 'C:\Program Files\MATLAB\R2017a/bin/win64\libmx.dll' にシンボル 'mxErrMsgTxt' がありません。
エラー: ft_read_header (line 110) retry = ft_getopt(varargin, 'retry', false); % the default is not to retry reading the header

Réponse acceptée

mizuki
mizuki le 22 Fév 2018
Modifié(e) : mizuki le 22 Fév 2018
エラーメッセージのとおり、必要とされているファイルがないことがこのエラーの原因になります。 不足しているファイルは MSVCR80.dll ということです。
MSVCR80.dll は Microsoft Visual C++ 2005 Redistributable の一部で、SPM8のコードはこれでコンパイルされているようです。コンパイルして作成された MEXW64 のファイルは MSVCR80.dll に依存しており、実行時にこの dll を参照しにいきます。現在実行されている環境には Microsoft Visual C++ 2005 Redistributable がないため、このエラーが出ていると考えられます。
問題の回避方法として、以下よりMicrosoft Visual C++ 2005 Redistributable (x64) をインストールしてみてください。

Plus de réponses (1)

michio
michio le 22 Fév 2018
http://www.fil.ion.ucl.ac.uk/spm/software/spm8/ に下記の記載があります。直接の解決策ではありませんが、SMP8 は R2017a で使うことは想定されていない模様です。
SPM8 is designed to work from MATLAB versions 7.1 (R14SP3) to 8.5 (R2015a), and will not work with earlier versions.
SPM12 is designed to work with MATLAB versions 7.4 (R2007a) to 9.3 (R2017b), and will not work with earlier versions.

Community Treasure Hunt

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

Start Hunting!