Compiler and System Requirements

To use subroutines, you need to supply your own appropriate compilers and linkers. Typically you write your user subroutine in C/C++ or Fortran, compile it, and create a Dynamically Linked Library (DLL).

Both Fortran and C/C++ routines are directly supported in the creation of a custom DLL. In other words, you do not have to write Fortran-to-C wrapper routines. For C/C++ routines, you do need to include the following header file:

msolvsub_c_include.h

The compiler requirements to build MotionSolve C++ and Fortran user subroutine DLLs are:

Windows 64:
  • C/C++: Microsoft Visual Studio 2015
  • Fortran: Intel Fortran Compiler 2017.4
Linux 64:
  • C/C++: Intel Compiler (ICC) 2017.7
  • Fortran: Intel Compiler (IFORT) 2017.7
Note: This information is only provided for reference. For building user subroutines, it is recommended to link against the “asutility” library (or use the UserSub Build Tool). By doing so, you do not have to comply with the compilers defined above and can use any version of compiler.

For more information about supported compilers and linkers, and for a list of system requirements, please refer to the HyperWorks Installation Guide.