跳转到内容

SPM/SPM8 MEX 在 Windows 上的编译

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

在 Windows 7 上编译 SPM8

[编辑 | 编辑源代码]

本页面描述了在 Windows 7 SP1 32bit 上使用 MATLAB R2008a (7.6)Microsoft Visual C++ 2005 (8.0) Express Edition 编译 SPM8 MEX 文件。

如果您使用其他版本的 MATLAB 和/或编译器,请确保它们兼容:支持的编译器

安装 Microsoft Visual C++

[编辑 | 编辑源代码]

下载并安装 Microsoft Visual C++ 2005 (8.0) Express Edition。

下载并安装 Microsoft Windows Server 2003 SP1 Platform SDK。

如果不存在名为 MSSDk 的环境变量,则需要指定它。

  • 转到 控制面板
  • 转到 系统
  • 转到 高级系统设置
  • 转到 高级
  • 转到 环境变量...
  • 如果在 系统用户变量 中没有名为 MSSDk 的变量
    • 单击 新建...
    • 然后输入
      • 变量名: MSSDk
      • 变量值: C:\Program Files\Microsoft Platform SDK

安装 MinGW/MSYS

[编辑 | 编辑源代码]

从以下地址下载并安装 MinGW

http://www.mingw.org/wiki/Getting_Started#toc1

在目录 C:\MinGW 中,仅选择 MinGW 开发工具包(包括 MSYS) 组件。

配置 MATLAB 编译环境

[编辑 | 编辑源代码]

启动 MATLAB 并输入

>> mex -setup

并按照说明进行操作。

Please choose your compiler for building external interface (MEX) files: 

Would you like mex to locate installed compilers [y]/n? y

Select a compiler: 
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2008a\sys\lcc\bin 
[2] Microsoft Visual C++ 2005 Express Edition in C:\Program Files\Microsoft Visual Studio 8 

[0] None 

Compiler: 2

Please verify your choices: 

Compiler: Microsoft Visual C++ 2005 Express Edition  
Location: C:\Program Files\Microsoft Visual Studio 8 

Are these correct [y]/n? y

如果出现错误消息

Error: The Microsoft Platform Software Development Kit (SDK) was not found. 

这意味着环境变量 MSSDk 设置不正确:请再次检查上面的编译器安装。

如果出现警告,请不要担心。

 Warning: The MATLAB C and Fortran API has changed to support MATLAB ...

从开始菜单中,选择

  • 所有程序
    • Visual C++ 2005 Express Edition
      • Visual Studio 工具
        • Visual Studio 2005 命令提示符

然后从那里启动 MSYS

C:\MinGW\msys\1.0\msys.bat

使用以下命令移动到 SPM8 源代码目录

$ cd /c/Users/login/Documents/MATLAB/spm8/src

然后输入以下命令开始编译过程

$ make distclean
$ make && make install
$ make toolbox-distclean
$ make toolbox && make toolbox-install
$ make external-distclean
$ make external && make external-install
华夏公益教科书