SPM/在 Mac OS (Intel) 上安装
SPM 维基教科书已迁移至https://www.fil.ion.ucl.ac.uk/spm/docs/ |
如果您在 *Finder* 中使用拖放来安装更新,它实际上会执行文件夹复制,而不是文件夹合并,以便更新的文件将被覆盖,但未更改的旧文件将被删除(请参阅此线程)。使用下面描述的命令行选项将克服这个问题。
SPM12 不正式支持 Mac Intel 与 32 位 MATLAB,因为该平台即将被淘汰(请参阅MATLAB 平台路线图)。这意味着预编译的 MEX 文件 (*.mexmaci) 不包含在 SPM 发行版中。
您应该能够自己编译 MEX 文件,前提是您编辑 spm12/src/Makefile.var 使其在 MacOS 部分使用 mexmaci 而不是 mexmaci64。
Mac Intel 与 32 位 MATLAB 是一个支持 SPM8 的平台。预编译的 MEX 文件 (*.mexmaci) 包含在 SPM 发行版中。
下载spm8.zip 及其更新spm8_updates_rxxxx.zip 到您的主目录,然后在终端中键入以下内容
cd /Users/login unzip spm8.zip unzip -o spm8_updates_rxxxx.zip -d spm8
启动 MATLAB 并将 SPM 添加到您的路径,方法是使用 *文件 > 设置路径 > 添加文件夹...* 或键入
addpath /Users/login/spm8
在 MATLAB 工作区中。
如果您想编译 SPM MEX 文件(如果您使用的是 Mac OS X 10.4 (Tiger),则当前可能会发生),则有两个要求
- 您需要安装 Apple 的开发环境Xcode。它应该在您 Mac 附带的“Mac OS X 安装”DVD 中。导航到“*可选安装*”,然后导航到“*Xcode 工具*”,双击“*Xcode 工具*”包进行安装。如果您稍后发现 *make* 是一个 *未找到的命令*,您将知道需要安装此工具。
- 您还需要在系统路径中包含 *mex* 可执行文件。为此,请在终端中键入以下内容
export PATH=$PATH:/Applications/MATLAB74/bin
使用安装 MATLAB 的适当路径。如果您使用的是其他 shell,则确切的语法可能有所不同。
然后,在终端中,从 SPM8 安装的 *src* 文件夹中,键入
cd /Users/login/spm8/src make distclean make && make install make toolbox-distclean make toolbox && make toolbox-install make external-distclean make external && make external-install
注意:使用 Mac OS X 10.5 编译并希望保持与 Mac OS X 10.4 的兼容性时,建议设置预处理器宏
export MACOSX_DEPLOYMENT_TARGET=10.4
Mac Intel 与 32 位 MATLAB 的预编译 MEX 文件 (*.mexmaci) 包含在 SPM 发行版中。
下载spm5.zip 到您的主目录,然后在终端中键入以下内容
cd /Users/login unzip spm5.zip
启动 MATLAB 并将 SPM 添加到您的路径,方法是使用 *文件 > 设置路径 > 添加文件夹...* 或键入
addpath /Users/login/spm5
在 MATLAB 工作区中。
如果您想自己编译 SPM5 MEX 文件,则需要安装 Xcode 并在系统路径中包含 *mex*(有关详细信息,请参阅 SPM8)。
然后,在终端中,从 SPM5 安装的 *src* 文件夹中,键入
cd /Users/login/spm5/src make distclean make && make install
按照 UNIX 系统的默认安装步骤进行操作。
Mac Intel 与 32 位 MATLAB 的预编译 MEX 文件 (*.mexmaci) 可作为额外软件包提供
要在 Intel Mac 上运行 SPM2,您需要对 spm_platform.m 文件进行一些更改。这些更改相对简单,与 Intel Mac 将自身标识为 MACI(而不是 MAC)以及大端和小端问题有关。
首先,将 MACI 添加到平台定义列表中。在 spm_platform.m 文件中,您将看到一个类似于以下内容的列表
PDefs = { 'PCWIN', 'win', 0;... 'PCWIN64', 'win', 0;... 'MAC', 'unx', 1;... 'SUN4', 'unx', 1;... 'SOL2', 'unx', 1;... 'HP700', 'unx', 1;... 'SGI', 'unx', 1;... 'SGI64', 'unx', 1;... 'IBM_RS', 'unx', 1;... 'ALPHA', 'unx', 0;... 'AXP_VMSG', 'vms', Inf;... 'AXP_VMSIEEE', 'vms', 0;... 'LNX86', 'unx', 0;... 'GLNX86', 'unx', 0;... 'GLNXA64', 'unx', 0;... 'VAX_VMSG', 'vms', Inf;... 'VAX_VMSD', 'vms', Inf };
只需添加一行,如下所示
'MACI', 'unx', 0;...
最后,在 spm_platform.m 文件的底部,您需要在支持的平台列表中添加 MACI
case {'SUN4','SOL2','HP700','SGI','SGI64','IBM_RS','ALPHA','LNX86','GLNX86','GLNXA64','MAC', 'MACI'}
如果您想自己编译 MEX 文件,请从以下位置下载更新的 Makefile 和 spm_platforms.m 文件
并按照其中提供的说明操作(它们已更新为 Snow Leopard)。