Command line tool to change Visual C++ project to use Intel C++ compiler

Introduction

Intel® C++ Compiler for Windows provides a command line tool to set a Visual C++ project to use Intel C++ compiler. You can use the command line tool as an alternative if you do not want to set the Visual C++ project within IDE.

This tool is called ICProjConvertXXX.exe and is installed under <common files>\Intel\Shared Files\ia32\Bin directory. The tool name changes from release to release. The following table shows the tool name and corresponding Intel C++ Compiler product version:

 

ICProjConvert120.exeIntel C++ Composer XE for Windows update 5 or older
ICProjConvert121.exeIntel C++ Composer XE for Windows update 6 and newer
ICProjConvert130.exeIntel C++ Composer XE 2013 for Windows
ICProjConvert140.exeIntel C++ Composer XE 2013 SP1 for Windows
ICProjConvert150.exeIntel® Parallel Studio XE 2015 for C++ Windows;
Intel® System Studio 2015;
Intel® Integrated Native Developer Experience (Intel® INDE) 2015

This tool will remain on your system even if you uninstalled the Intel C++ Compiler for Windows or Intel C++ Composer for Windows. Because it is the only tool to set an Intel C++ project back to Visual C++.

Usage

The usage of the tool is described below:

>> ICProjConvert150.exe /?
Intel(R) C++ Project Converter, version 15.0.xxx.11
Copyright (C) 2002-2014 Intel Corporation. All rights reserved.
Usage: ICProjConvert150.exe <sln_file | prj_files> </VC[:"VCtoolset name"] | /IC[:"ICtoolset name"]> [/msvc] [/s] [/f]
Where:
sln_file - is a path to solution file, which should be updated to specified project system.
prj_files - space separated list of project files (or wildcard), which will use the specified project system.
/VC - to use the Visual C++ project system.
/IC - to use the Intel C++ project system.
"ICtoolset name": one of the following toolset names 
  - Intel C++ Compiler 15.0 [Intel(R) INDE]
        This is the default if no ICtoolset name specified and only Intel® INDE 2015 is installed.
  - Intel C++ Compiler 15.0 [Intel(R) System Studio]
        This is the default if no ICtoolset name specified and only Intel® System Studio 2015 is installed.
  - Intel C++ Compiler XE 15.0
        This is the default if no ICtoolset name specified and only Intel® Parallel Studio XE 2015 is installed.
  - Intel C++ Compiler XE 14.0
  - Intel C++ Compiler XE 13.0
  - Intel C++ Compiler XE 12.0

/q - quiet mode, all information messages (except errors) are hidden.
/nologo - suppress startup banner.
/msvc - set the compiler to MS VC++.
/s - search the project files through all subdirectories.
/f - force to update the project even if it has unsupported type or properties.
/? or /h - show help. 

Examples

If the solution or project is a Visual Studio 2010, 2012 or 2013 project, use following:

// set the whole solution to use Intel C++ compiler 15.0
>> icProjConvert150 mytest_vs2012.sln /IC:"Intel C++ Compiler XE 15.0"

// set project "lib1" of mytest_vs2012.sln to use Intel C++ compiler 15.0
>> icProjConvert150 mytest_vs2012.sln lib1.vcxproj /IC:"Intel C++ Compiler XE 15.0"

or

>> icProjConvert150 lib1.vcxproj /IC:"Intel C++ Compiler XE 15.0"

This article applies to:
Products: Intel® Parallel Studio XE 2015 for C++ Windows; Intel® INDE; Intel® System Studio
Host OS: Windows
Target OS: Windows

For more complete information about compiler optimizations, see our Optimization Notice.

4 comments

Top
Nicolas B.'s picture

Sorry, but it is very hard to sent longer comment and all my inputs have been lost many times. That might be the reason why there is no other comment.

Nicolas B.'s picture
msbuild my.vcxproj /t:Build /p:Configuration=Release /p:PlatformToolset="Intel C++ Compiler XE 15.0" /p:BasePlatformToolset=v120_xp 

is working, but how to generate the BasePlatformToolset from the command line?

Nicolas B.'s picture

Again, line by line:

ICProjConvert150 doesn't keep and transform v120_xp from:

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>Unicode</CharacterSet>
    <PlatformToolset>v120_xp</PlatformToolset>
  </PropertyGroup>

to

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>Unicode</CharacterSet>
    <PlatformToolset>Intel C++ Compiler XE 15.0</PlatformToolset>
    <BasePlatformToolset>v120_xp</BasePlatformToolset>
  </PropertyGroup>

 

Nicolas B.'s picture

I can't add comment, unfortunately. The browser cancels the input!
 

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.