跳转到内容

SPM/在 Mac OS (Intel) 上安装

来自维基教科书,开放的书籍,开放的世界
< SPM

如果您在 *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

请参阅Apple 开发:符号变体

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)。

华夏公益教科书