Development Reference Guides

Contents

Specify the Location of Compiler Components

Before you invoke the compiler, you may need to set certain environment variables that define the location of compiler-related components. The compiler includes environment configuration scripts to configure your build and development environment variables:
  • On Linux, the file is a shell script called
    setvars.sh
    .
  • On Windows, the file is a batch file called
    setvars.bat
    .
The
Intel oneAPI
DPC++/C++
Compiler
is designed and tested only for use on 64-bit Linux and Windows operating systems, 32-bit operating systems are not supported. Additionally, the macOS operating system is not supported by the compiler.

Linux

Set the environment variables before using the compiler by sourcing the shell script
setvars.sh
. Depending on the shell, you can use the
source
command or a
.
(dot) to source the shell script, according to the following rules for a
.sh
script:
Using source:
source /<install-dir>/setvars.sh <arg1> <arg2> … <argn>
Example:
source /opt/intel/oneapi/setvars.sh intel64
Using
.
(dot):
. /<install-dir>/setvars.sh <arg1> <arg2> … <argn>
Example:
. /opt/intel/oneapi/setvars.sh intel64
Use
source /<install-dir>/setvars.sh --help
for more
setvars
usage information.
The compiler environment script file accepts an optional target architecture argument
<arg>
:
  • intel64
    : Generate code and use libraries for Intel® 64 architecture-based targets.
  • ia32
    : Generate code and use libraries for IA-32 architecture-based targets.
If you want the
setvars.sh
script to run automatically in all of your terminal sessions, add the source
setvars.sh
command to your startup file. For example, inside your
.bash_profile
entry for Intel® 64 architecture targets.
If the proper environment variables are not set, errors similar to the following may appear when attempting to execute a compiled program:
./a.out: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

Windows

Under normal circumstances, you do not need to run the
setvars.bat
batch file. The terminal shortcuts in the Windows
Start
menu,
Intel oneAPI command prompt for <target architecture> for Visual Studio <year>
, set these variables automatically.
For additional information, see Use the Command Line on Windows.
You need to run the
setvars
batch file if a command line is opened without using one of the provided
Command Prompt
menu items in the
Start
menu, or if you want to use the compiler from a script of your own.
The
setvars
batch file inserts DLL directories used by the compiler and libraries at the beginning of the existing
Path
. Because these directories appear first, they are searched before any directories that were part of the original
Path
provided by Windows (and other applications). This is especially important if the original
Path
includes directories with files that have the same names as those added by the compiler and libraries.
The
setvars
batch file takes multiple optional arguments; the following two arguments are recognized for compiler and library initialization:
<install-dir>\setvars.bat [<arg1>] [<arg2>]
Where
<arg1>
is optional and can be one of the following:
  • intel64
    : Generate code and use libraries for Intel® 64 architecture (host and target).
  • ia32
    : Generate code and use libraries for IA-32 architecture (host and target).
The
<arg2>
is optional. If specified, it is one of the following:
  • vs2022
    : Microsoft Visual Studio 2022
  • vs2019
    : Microsoft Visual Studio 2019
  • vs2017
    : Microsoft Visual Studio 2017.
    Support for Microsoft Visual Studio 2017 is deprecated as of the Intel® oneAPI 2022.1 release and will be removed in a future release.
If
<arg1>
is not specified, the script uses the
intel64
argument by default. If
<arg2>
is not specified, the script uses the highest installed version of Microsoft Visual Studio detected during the installation procedure.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.