Main Content

Build on macOS and Linux Operating Systems

Set Run-Time Library Path

At run time, you must tell the macOS and Linux® operating system where the API shared libraries reside by setting an environment variable. The macOS or Linux command you use and the values you provide depend on your shell and system architecture. The following table lists the name of the environment variable (envvar) and the value (pathspec) to assign to it. The term matlabroot refers to the root folder of your MATLAB® installation.

Operating Systemenvvarpathspec

64-bit Apple Mac

DYLD_LIBRARY_PATH

matlabroot/bin/maci64:matlabroot/sys/os/maci64

64-bit Linux

LD_LIBRARY_PATH

matlabroot/bin/glnxa64:matlabroot/sys/os/glnxa64

Using the C Shell

Set the library path using the command.

setenv envvar pathspec

Replace the terms envvar and pathspec with the appropriate values from the table. For example, on a macOS system use:

setenv DYLD_LIBRARY_PATH
matlabroot/bin/maci64:matlabroot/sys/os/maci64

You can place these commands in a startup script, such as ~/.cshrc.

Using the Bourne Shell

Set the library path using the command.

envvar = pathspec:envvar
export envvar

Replace the terms envvar and pathspec with the appropriate values from the table. For example, on a macOS system use:

DYLD_LIBRARY_PATH=matlabroot/bin/maci64:matlabroot/sys/os/maci64:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH 

You can place these commands in a startup script such as ~/.profile.

For more information, see Append library path to "DYLD_LIBRARY_PATH" in MAC.

Build Application

To compile and link MAT-file programs, use the mex script with the -client engine option.

This example shows how to build the example matcreat.c. Use this example to verify the build configuration for your system. matcreat is C program that demonstrates how to use the MAT-File API routines to create a MAT-file that you can load into MATLAB.

To build the example, first copy the source code to a writable folder on your path.

copyfile(fullfile(matlabroot,'extern','examples','eng_mat','matcreat.c'),'.','f')

Use the following command to build it.

mex -client engine matcreat.c

To modify the build instructions for your particular compiler, use the -v -n options to view the current compiler and linker settings. Then, modify the settings using the mex varname=varvalue option.

See Also

Related Topics