BlueM.Sim compilation: Difference between revisions

From BlueM
Jump to navigation Jump to search
No edit summary
(add more information)
Line 6: Line 6:


Recommended software setup for compiling BlueM.Sim:
Recommended software setup for compiling BlueM.Sim:
* [https://visualstudio.microsoft.com/ Microsoft Visual Studio 2019] (Community Edition is sufficient)
* [https://visualstudio.microsoft.com/ Microsoft Visual Studio 2019 or 2022] (Community Edition is sufficient)
** Select at least the "Desktop Development with C++" component
** Select at least the "Desktop Development with C++" component
* Intel Fortran Compiler:
* Intel Fortran Compiler:
** [https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html Intel oneAPI Base Toolkit], select at a minimum "Intel Distribution for GDB". This provides the Fortran debugger support for Visual Studio.
** [https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html Intel oneAPI Base Toolkit], select at a minimum "Intel Distribution for GDB". This provides the Fortran debugger support for Visual Studio.
** [https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html Intel oneAPI HPC Toolkit], select at a minimum "Intel Fortran Compiler".
** [https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html Intel oneAPI HPC Toolkit], select at a minimum "Intel Fortran Compiler".
==Debugging==
[[File:BlueM.Win debug setting.png|thumb|right|Screenshot of debug setting in BlueM.Win required for debugging BlueM.Sim]]
In order to be able to debug BlueM.Sim, you need to activate the option ''Enable native code debugging'' in the ''Debug'' section of the project properties of the startup-application (i.e. BlueM.Win).
This is a per-user-setting and needs to be activated for every individual build setup.


==Compiler settings==
==Compiler settings==
Line 16: Line 22:
Required compiler settings (''Flags''):  
Required compiler settings (''Flags''):  
* <code>/assume:byterecl</code>
* <code>/assume:byterecl</code>
: This causes Intel Fortran to interpret the record length of unformatted files (e.g. time series in [[BIN-Format]]) in bytes instead of in 4 byte units (longwords). This flag is set by setting ''Use Bytes as RECL unit for unformatted files:'' to '''Yes''' (see image).
: This causes Intel Fortran to interpret the record length of unformatted files (e.g. time series in [[BIN-Format]]) in bytes instead of in 4 byte units (longwords). This flag is set by setting ''Use Bytes as RECL unit for unformatted files:'' to '''Yes''' (see image).
The compiler settings are stored in the project file <code>BlueM.Sim.vfproj</code> and normally do not have to be adjusted.


==Build configurations==
==Build configurations==

Revision as of 02:32, 4 March 2023

BlueM_icon.png BlueM.Sim | Downloads | Application | Theory | Development

Compilation

BlueM.Sim is written in FORTRAN. Additional components such as BlueM.DLLAdapter and BlueM.Wave are written in C# and VB.NET, while BlueM.LaPipe is written in C++.

Recommended software setup for compiling BlueM.Sim:

Debugging

Screenshot of debug setting in BlueM.Win required for debugging BlueM.Sim

In order to be able to debug BlueM.Sim, you need to activate the option Enable native code debugging in the Debug section of the project properties of the startup-application (i.e. BlueM.Win).

This is a per-user-setting and needs to be activated for every individual build setup.

Compiler settings

Use Bytes as RECL

Required compiler settings (Flags):

  • /assume:byterecl
This causes Intel Fortran to interpret the record length of unformatted files (e.g. time series in BIN-Format) in bytes instead of in 4 byte units (longwords). This flag is set by setting Use Bytes as RECL unit for unformatted files: to Yes (see image).

The compiler settings are stored in the project file BlueM.Sim.vfproj and normally do not have to be adjusted.

Build configurations

The following build configurations for BlueM.Sim are defined in the project file:

  • Debug: Debug version, no optimizations
  • Release: Release version with optimizations