跳轉到內容

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

華夏公益教科書