Compiler for System Modeling

The system modeling functionality uses a C++ compiler to build executables for fast simulation of models. Simulation of models requires the installation of a compiler on your computer. If a supported compiler is already installed, it will be automatically detected and used, and no further action has to be taken.

Trigger loading of the system modeling functionality:

SystemModel;

Installation of Supported Compilers

Windows

On Windows, the functionality has been fully tested with and supports the following compilers:

Microsoft Visual C++ 2012 (including the free Express edition).

Microsoft Visual C++ 2013 (including the free Express edition).

Microsoft Visual C++ 2015 (including the free Express edition).

Microsoft Visual C++ 2017 (including the free Visual C++ Build Tools edition).

On Windows, a compiler can be installed evaluating the following command and following the shown steps:

SystemModelConfiguration`InstallCompiler[]

Mac

Apple's Xcode needs to be installed. Xcode is available at the Mac App Store.

On Mac, SystemModeler has been fully tested with Clang from Xcode Version 6.2. It is likely that SystemModeler will work with any C++ compiler that is compatible with that version, i.e. any Clang from Xcode ≥ 6.2 from Apple Inc.

Instructions for installing are available (WebLink[here, http://wolfram.com/system-modeler/compiler-mac/]).

Linux

On Linux, the functionality has been fully tested with GCC/G++ 4.4 (32-bit and 64-bit). It is likely that SystemModeler will work with any C++ compiler that is compatible with that version, i.e. any GCC/G++ ≥ 4.4.

Instructions for installing are available (WebLink[here, http://wolfram.com/system-modeler/compiler-linux/]).

Compiler Verification and Configuration

This section describes the functionality available for verifying and changing the compiler settings. This is advanced functionality that most users will not need.

Verify the currently configured compiler.

SystemModelConfiguration`VerifyCompiler[]

If the verification is not successful, the result will also contain a log from a test compilation, indicating the problem with the configuration.

Show the currently selected compiler configuration.

SystemModelConfiguration`GetConfiguration["Compiler"]

The option is a list of rules specifying the compiler command, where it is found on the system, the version and advanced configuration options.

It is also possible to list all detected compilers that are supported.

opts=SystemModelConfiguration`ListCompilers[]

Change the compiler configuration to use a different detected compiler.

SystemModelConfiguration`SetConfiguration["Compiler",opts[[2]]]

Advanced Compiler Configuration

It is also possible to construct a custom compiler configuration by modifying individual configuration options.

Advanced compiler configuration options.

The "Command" describes the type of compiler and should be one of "g++", "clang++" or "cl".

The contents of the "Path" option are as follows for the supported compilers:

For Microsoft Visual C++, the directory that contains vcvarsall.bat/VsDevCmd.bat.

For GCC/G++, the full path to the g++ executable.

For Clang++, the full path to the clang++ executable.

For Visual Studio, "Version" is given as "VS2013" or similar according to the version used.

When using clang++ from Xcode without installing the command-line tools, it is also necessary to specify "PlatformSDKPath". The platform SDKs are usually located in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs.

The "TargetArchitecture" is a choice between "x86_64" and "x86".

Flags given in "UserFlags" as a single string are passed on to the compiler unchanged, allowing very fine-grained control of the selected compiler.