| External Interfaces/API, MATLAB® Version 7.2 (R2006a) Release Notes | ![]() |
In MATLAB® V7.2 (R2006a) on Linux® and Linux[1] x86-64 platforms, MEX-files built with gcc must be recompiled and relinked using gcc version 3.4 or later. Rebuilding is required because MATLAB V7.2 (R2006a) on Linux and Linux x86-64 platforms is built with gcc version 3.4.
Changes in gcc version 3.4 have caused incompatibilities between MATLAB V7.2 (R2006a) and MEX-files built with gcc versions earlier than 3.4.
On Linux and Linux x86-64 platforms, MEX-files built with gcc versions earlier than 3.4 cannot be used in MATLAB V7.2 (R2006a).
On Linux and Linux x86-64 platforms, MEX-files built with gcc version 3.4 or later cannot be used in versions of MATLAB earlier than V7.2 (R2006a).
With the introduction of MATLAB for Windows® x64, you can now build 64-bit MEX-files. These MEX-files have the extension .mexw64. The mexext command returns mexw64 in MATLAB for Windows x64.
MEX-files built using MATLAB for Windows (32-bit), which have.mexw32 extensions by default, cannot be used in MATLAB for Windows x64.
By default, when MATLAB for Windows x64 is installed, the mex.pl and mex.bat scripts build MEX-files for a Windows x64 platform (with .mexw64 extensions).
MATLAB V7.2 (R2006a) supports new compilers for building MEX-files on Windows and Windows x64 platforms:
Microsoft® Visual C++® 2005, also informally called Visual C++® 8.0, part of Microsoft® Visual Studio® 2005
Intel® Visual Fortran 9.0
When you build a MEX-file or an Engine or MAT application using Intel Visual Fortran 9.0, MATLAB requires an environment variable to be defined, depending on whether you are building in MATLAB for Windows (32-bit) or MATLAB for Windows x64:
MATLAB for Windows (32-bit): The environment variable VS71COMNTOOLS must be defined. The value of this environment variable is the path to the Common7\Tools directory of the Visual Studio® .NET 2002 or 2003 installation directory. (Intel Visual Fortran requires Visual Studio .NET 2002 or 2003 on 32-bit Windows platforms.) This environment variable is commonly defined by the Visual Studio .NET 2003 installation program.
MATLAB for Windows x64: The environment variable MSSdk must be defined. The value of this environment variable is the path to the installation directory for Microsoft® Platform SDK for Windows Server® 2003. (Intel Visual Fortran requires Microsoft Platform SDK for Windows Server 2003 on Windows x64 platforms.) This environment variable is not commonly defined by the Microsoft Platform SDK installation program.
MATLAB provides a preprocessor macro, mwPointer , that declares the appropriate Fortran type representing a pointer to an mxArray or to other data that is not of a native Fortran type, such as memory allocated by mxMalloc. On 32-bit platforms, the Fortran type that represents a pointer is INTEGER*4; on 64-bit platforms, it is INTEGER*8. The Fortran preprocessor translates MWPOINTER to the Fortran declaration that is appropriate for the platform on which you compile your file.
MATLAB V7.1 (R14SP3) included a Windows Engine and MAT options file named df66engmatopts.bat. This file contained options for Compaq® Visual Fortran version 6.6 for use in building Fortran engine or MAT stand-alone programs. The file name df66engmatopts.bat originated with an earlier version of the Fortran compiler, named Digital Fortran.
In V7.2 (R2006a), this file has been renamed cvf66engmatopts.bat to match the Compaq Visual Fortran product name.
You may need to change any scripts that depend on the earlier name for the options file.
MATLAB V7.1 (R14SP3) included MEX, Engine, and MAT options files for a number of Windows C and Fortran compilers that were untested. These options files are not included in V7.2 (R2006a). The unsupported compilers, and the supported compilers that replace them, are:
Unsupported Compiler | Supported Replacement |
|---|---|
Borland® 5.0, 5.2, 5.3, 5.4 | Borland 5.5, Borland 5.5 Free, Borland 5.6 |
Digital Visual Fortran 5.0, 6.0 | Compaq Visual Fortran 6.1, Compaq Visual Fortran 6.6, Intel Visual Fortran 9.0 |
Microsoft Visual C++ 5.0, Visual C++ .NET 2002 (7.0) | Microsoft Visual C++ 6.0, Visual C++ .NET 2003 (7.1), Visual C++ 2005 (8.0) |
Watcom 10.6, 11 | Open Watcom 1.3 |
If you were using an untested compiler with a previous version of MATLAB, replace it with a supported compiler. You may need to recompile your MEX-files or applications.
In V7.1 (R14SP3), many MAT-file access, MX array manipulation, MEX-files, and MATLAB engine functions were declared obsolete in the External Interfaces Reference documentation. These functions are no longer documented in V7.2 (R2006a).
This section lists the obsolete functions removed from the documentation, along with replacement functions, if any.
Obsolete Function | Replacement |
|---|---|
matDeleteArray (C and Fortran) | |
matDeleteMatrix (C and Fortran) | |
matGetArray (C and Fortran) | |
matGetArrayHeader (C and Fortran) | |
matGetFull (C and Fortran) | matGetVariable followed by mxGetM, mxGetN, mxGetPr, mxGetPi |
matGetMatrix (C and Fortran) | |
matGetNextArray (C and Fortran) | |
matGetNextArrayHeader (C and Fortran) | |
matGetNextMatrix (C and Fortran) | |
matGetString (C and Fortran) | matGetVariable followed by mxGetString |
matPutArray (C and Fortran) | |
matPutArrayAsGlobal (C and Fortran) | |
matPutFull (C and Fortran) | mxCreateDoubleMatrix followed by mxSetPr, mxSetPi, matPutVariable |
matPutMatrix (C and Fortran) | |
matPutString (C and Fortran) | mxCreateString followed by matPutVariable |
Obsolete Function | Replacement |
|---|---|
mxClearLogical (C and Fortran) | None |
mxCreateFull (C and Fortran) | |
mxCreateScalarDouble (C and Fortran) | |
mxFreeMatrix (C and Fortran) | |
mxGetName (C and Fortran) | None |
mxIsFull (C and Fortran) | |
mxIsString (C and Fortran) | |
mxSetLogical (C and Fortran) | None |
mxSetName (C and Fortran) | None |
Obsolete Function | Replacement |
|---|---|
mexAddFlops (C) | None |
mexGetArray (C and Fortran) | |
mexGetArrayPtr (C and Fortran) | |
mexGetEps (C and Fortran) | |
mexGetFull (C and Fortran) | mexGetVariable followed by mxGetM, mxGetN, mxGetPr, mxGetPi |
mexGetGlobal (C and Fortran) | |
mexGetInf (C and Fortran) | |
mexGetMatrix (C and Fortran) | |
mexGetMatrixPtr (C and Fortran) | |
mexGetNaN (C and Fortran) | |
mexIsFinite (C and Fortran) | |
mexIsInf (C and Fortran) | |
mexIsNaN (C and Fortran) | |
mexPutArray (C and Fortran) | |
mexPutFull (C and Fortran) | mxCreateDoubleMatrix followed by mxSetPr, mxSetPi, mexPutVariable |
mexPutMatrix (C and Fortran) |
Obsolete Function | Replacement |
|---|---|
engGetArray (C and Fortran) | |
engGetFull (C and Fortran) | engGetVariable followed by mxGetM, mxGetN, mxGetPr, mxGetPi |
engGetMatrix (C and Fortran) | |
engPutArray (C and Fortran) | |
engPutFull (C and Fortran) | mxCreateDoubleMatrix followed by mxSetPr, mxSetPi, engPutVariable |
engPutMatrix (C and Fortran) | |
engSetEvalCallback (C) | None |
engSetEvalTimeout (C) | None |
engWinInit (C) | None |
Most of the functions listed as obsolete in this section are unsupported in V6.5 (R13) and later versions. Some obsolete functions are unsupported in earlier versions.
If this section lists a replacement for an obsolete function, change any code that refers to the obsolete function to use the replacement instead.
If you must use an obsolete function in a MEX-file or application, use the -V5 option to mex when you build the file.
MATLAB supports the use of Microsoft® ActiveX® controls that require licensing at both design time and runtime.
See the actxcontrol function for information on how to specify a design-time license key.
See Deploying ActiveX® Controls Requiring Run-Time Licenses for information on how to use ActiveX® Controls that require runtime licenses in your MATLAB application.
MATLAB defines a data type to be used with controls requiring input defined as type VT_DATE. See Using Date Data Type for more information.
MATLAB supports dynamic linking of external libraries only on 32-bit Windows systems and 32-bit Linux systems. See MATLAB® Interface to Generic DLLs for more information.
[1] Linux is a registered trademark of Linus Torvalds.
![]() | Creating Graphical User Interfaces (GUIs), MATLAB Version 7.2 (R2006a) | Version 7.1 (R14SP3) MATLAB® Software | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |