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

15 次查看(过去 30 天)
Hideaki Yamagata
Hideaki Yamagata 2018-2-22
回答: michio 2018-2-22
下記のエラーが表示されます。 どのように改善すればよいかご教示ください。
無効な 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

采纳的回答

mizuki
mizuki 2018-2-22
编辑:mizuki 2018-2-22
エラーメッセージのとおり、必要とされているファイルがないことがこのエラーの原因になります。 不足しているファイルは 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) をインストールしてみてください。

更多回答(1 个)

michio
michio 2018-2-22
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!