SPM/SPM12 在 Windows 上的 MEX 编译
外观
< SPM
SPM 维基教科书已迁移至 https://www.fil.ion.ucl.ac.uk/spm/docs/ |
本页描述了在使用MATLAB R2018b (9.5) 和 MSYS2 MinGW-w64 GCC 的Windows 10 上编译 SPM12 MEX 文件。
如果您使用其他版本的 MATLAB 和/或编译器,请确保它们兼容:支持的编译器
从
https://www.msys2.org/
下载并安装 MSYS2 到目录 C:\msys64。然后,在 MSYS2 中,输入
pacman -Syu pacman -Su pacman -S --needed base-devel mingw-w64-x86_64-toolchain
启动 MATLAB 并输入
>> setenv('MW_MINGW64_LOC', 'C:\msys64\mingw64') >> mex -setup MEX configured to use 'MinGW64 Compiler (C)' for C language compilation.
如果出现警告,不用担心
Warning: The MATLAB C and Fortran API has changed to support MATLAB ...
在 MSYS2 中,使用以下命令移动到 SPM12 源代码目录
$ cd /c/Documents and Settings/login/Documents/MATLAB/spm12/src
然后适当设置 PATH
$ PATH=/c/Program\ Files/MATLAB/R2018b/bin/win64:${PATH} $ export MW_MINGW64_LOC=/c/msys64/mingw64/ $ PATH=/c/msys64/mingw64/bin/:${PATH}
然后输入以下命令开始编译过程
$ make distclean $ make && make install $ make external-distclean $ make external && make external-install
$ pacman -S mingw64/mingw-w64-x86_64-octave
然后使用以下命令启动 Octave
$ /mingw64/bin/octave --gui
并使用以下命令编译
$ cd('/c/Documents and Settings/<login>/Documents/MATLAB/spm12/src'); $ system('make distclean PLATFORM=octave'); $ system('make PLATFORM=octave && make install PLATFORM=octave'); $ system('make external-distclean PLATFORM=octave'); $ system('make external PLATFORM=octave && make external-install PLATFORM=octave');