- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.
I updated oneapi from 2023.? to 2024.1.
After update, Intel oneAPI: Configure cpp properties configuration command in vscode emit error if I choose icx option.
Error message is
Command failed: "icx" -xc++ -E -P -v -dD -c NUL 2>&1
as attached image.
Also, I found that icpx works fine.
<environment>
OS: Windows 10 10.0.19045
vscode: 1.86.2 (system setup)
oneAPI: oneAPI Base Toolkit 2024.1
Thank you for read!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please provide a reproducer and exact commands used for your problem.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is your original source code a .c or .cpp file? For .c file you need icx to compile, but .cpp file requires icpx to compile.
Check the "guiding principle for icx" section in this document: https://www.intel.com/content/www/us/en/developer/articles/guide/porting-guide-for-icc-users-to-dpcpp-or-icx.html
If above doesn't answer your question, please attach a reproducer to demonstrate your issue and list the exact commands used.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is inconsistent information.
A document from intel, it says icx (icx-cl) work as c/c++ compiler driver in windows and "icx is the recommended default driver for Windows." in Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference, page 12-13.
then which is correct?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Since you're using the Windows OS, icx is indeed recommended as it is the MSVC compatible driver. Using icx is equivalent to using icx-cl on Windows OS. The use of icpx or icx-cc are there for Windows, but icpx and icx-cc are Linux compatible drivers, which mean they accept the Linux style options, but the behavior targets Windows based targets. When you use icx, you also use the MSVC compatible driver so this driver does not accept -dD or -xc++ or any other Linux specific options. Using icpx means using the Linux based driver, which allows for those options to work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In my case, my c++ source should be linked with other c++ object files which is from MSVC compiler, so icx will be easy way. (I already tried with icpx, but occured some linking error.)
I noticed that MSVC compiler don't support "-dD or -xc++" flags.
We solved the inconsistent notions, and it is the time to deal with vscode oneapi extension bug..
1. "Intel oneAPI: Configure cpp properties configuration" command bug. (This command is from "Analysis Configurator for Intel® oneAPI Toolkits" in vscode extension)
This error didn't appear in oneapi 2023.2 and ran well.
I tried downgrade "Analysis Configurator for Intel® oneAPI Toolkits" to several versions, but not work (lower version cannot generate settings.json)
User cannot change the command "Intel oneAPI: Configure cpp properties configuration", but wait newer version of "Analysis Configurator for Intel® oneAPI Toolkits" extension supporting oneapi 2024.1 for windows vscode.
(no way to remove -dD or -xc++ flags in vscode command)
2. vscode cannot detect icx/icpx compiler
In oneapi 2023.2, debug/build command in vscode worked well without launch.json. (tasks.json was automatically generated.)
More detail, in 2024.1, hitting F5 while focusing a cpp source file, vscode will show detected tasks and compilers, but there is no option icx or icpx task option. (There was icx or icpx task option with oneapi 2023.2)
Adding compiler path to settings.json didnt work as below,
"C_Cpp.default.compilerPath": "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/bin/icx.exe" or "C_Cpp.default.compilerPath": "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/bin/icpx.exe"
These problems occur in windows vscode with oneapi 2024.1, but worked well with 2023.2.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The second problem solved.
Some binary filename is changed in oneapi 2024.1 and this cause second problem.
Vscode detect gdb.exe file to detect compiler when hit F5 and select C++ (GDB/LLDB) option.
In oneapi 2024.1, the gdb filename is gdb-oneapi so vscode cannot recognize icx/icpx compiler installed.
To solve this problem, make replicate of
C:\Program Files (x86)\Intel\oneAPI\debugger\2024.1\opt\debugger\bin\gdb-oneapi.exe
to
C:\Program Files (x86)\Intel\oneAPI\debugger\2024.1\opt\debugger\bin\gdb.exe.
So, second problem solved.
The left first problem is intel's vscode extension developer's work as mentioned.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please provide a reproducer and exact commands used for your problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh, I missed it. Attached a reproducer (video file) to this reply.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I found this problem is solved at software of versions as following.
oneAPI : 2025.0
Analysis Configurator for Intel Software Developer Tools: v0.1.27 (vscode extension of oneAPI)
Thank you for patch!

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page