Support for Intel® oneAPI DPC++/C++ Compiler

Installing Intel® oneAPI DPC++/C++ Compiler

Stingray Studio provides support for Intel® oneAPI DPC++/C++ Compiler. This compiler supports only x64 bit code builds and it supports only C++ code. So .NET and other managed library code and .NET samples have not been ported for this compiler.

To learn more about Intel oneAPI DPC++/C++ Compiler, please refer to the link below:

https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html#gs.y71up0

Intel oneAPI DPC++/C++ Compiler can be installed as an additional compiler using an extension in Visual Studio.

To install this compiler as an extension in Visual Studio:

  1. Open Visual Studio > Extensions > Manage Extensions.

  2. Search for "Intel Compiler", and select the first option "Intel C/C++ compilers".

  3. Click Download.

  4. Double-click the downloaded .exe file to get the Intel oneAPI extension added into VS2022. After installing the extension, restart Visual Studio.

  5. Open any solution file in Visual Studio.

  6. Right-click the project and select Intel Compile > Intel C++ 2023.

Some important points to consider before using this compiler are listed below:

  • 32-bit (x86) compilation tools are not supported by the Intel compiler, hence the tools issue a warning while compiling anything that is x86 architecture based.

    The following warning is displayed:

    Warning generated:

    1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VC\v170\Platforms\Win32\PlatformToolsets\Intel C++ Compiler 2023\Toolset.targets(162,3): warning : 32 bit tools (PreferredToolArchitecture=x86) are not supported in Intel C++ Compiler toolset. 64 bit tools (PreferredToolArchitecture=x64) are used in this build

  • Intel C++ Compiler Classic is out-of-date and is being discontinued from the 2nd half of 2023. Hence, support will not be provided for this compiler. If you use Intel C++ Compiler Classic 2023 for compilation, a warning message is displayed to that effect.

  • Managed code builds are not supported by Intel oneAPI DPC++/C++ Compiler. Support is not provided for managed build configurations (For example, mngd_uni_stingraylib_afxdll_dbg , .Net libraries and other managed configurations)

  • In case you are getting linker error during compilation (after building library with Intel compiler and then reverting back to usage of Microsoft Visual C++ Compiler):

    1>LINK : fatal error LNK1104: cannot open file 'libircmt.lib'.

    1. Remove the Intel C++ extensions and other Intel oneAPI extensions that get installed along with it.

    2. Restart and check if extension is deleted from Visual Studio.

    libircmt.lib is an Intel C++ compiler library and once you build with this compiler and later revert to normal Visual Studio compiler builds, as it can display a missing library error.

    If you have not removed this compiler extension from Visual Studio, append the location of this library to the library path, that is add :

    "C:\Program Files (x86)\Intel\oneAPI\compiler\2023.0.0\windows\compiler\lib\intel64_win" to VC++ Directories > Library Directories.