java.lang.UnsupportedOperationException: Missing value for __cplusplus predefine

run into”java.lang.UnsupportedOperationException: Missing value for __cplusplus predefine”

here is the log:

11:13:38.805 INFO SonarScanner CLI 7.3.0.5189
11:13:38.807 INFO Windows 11 10.0 amd64
11:13:40.869 INFO Communicating with SonarQube Server 2025.5.0.113872
11:13:40.870 INFO JRE provisioning: os[windows], arch[amd64]
11:13:41.983 INFO Starting SonarScanner Engine…
11:13:41.984 INFO Java 17.0.13 Eclipse Adoptium (64-bit)

……..

11:14:48.273 INFO Compilation database was generated by build-wrapper 6.72
11:14:49.541 ERROR Error during SonarScanner Engine execution
java.lang.UnsupportedOperationException: Missing value for __cplusplus predefine
at com.sonar.cpp.analyzer.StdFlags.fromCppMacrosWithoutConditionalFeatures(StdFlags.java:33)
at com.sonar.cpp.analyzer.StdFlags.fromCppMacros(StdFlags.java:16)
at com.sonar.cpp.analyzer.DiabDriver.createAction(DiabDriver.java:227)
at com.sonar.cpp.analyzer.DiabDriver.onCapture(DiabDriver.java:208)
at com.sonar.cpp.analyzer.CompilerDrivers.onCapture(CompilerDrivers.java:47)
at com.sonar.cpp.plugin.CFamilySensor.lambda$process$10(CFamilySensor.java:687)
at com.sonar.cpp.plugin.CompileCommandsReader.readCaptures(CompileCommandsReader.java:88)
at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:685)
at com.sonar.cpp.plugin.CFamilySensor.processConfigurationReader(CFamilySensor.java:595)
at com.sonar.cpp.plugin.CFamilySensor.lambda$process$3(CFamilySensor.java:255)
at java.base/java.lang.Iterable.forEach(Unknown Source)
at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:255)
at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:199)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:69)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:64)
at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:80)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:212)
at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:208)
at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:178)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
at org.sonar.scanner.bootstrap.SpringScannerContainer.doAfterStart(SpringScannerContainer.java:339)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:142)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:157)
at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:72)
at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:56)

Hi @catherine.yang, and welcome to the community.

Thank you for sharing the issue with us. To help me track this down, would you be willing to share the following with us?

  • The debug analysis logs. These can be generated by adding -X , --verbose , or -Dsonar.verbose=true to the scanner invocation. See the docs here.
  • The compilation database file you are using.
  • In case you are using build-wrapper to generate the compilation database, all files from the build-wrapper output directory.

I have also started a private thread with you if you prefer to send them privately.

Best regards,
Michael

Thanks @catherine.yang for sharing the information with us,

The issue turned out to be caused by a very old version of diab.exe, that doesn’t seem to be supported anymore on the official website.

For the time being, I would suggest either running the analysis using a different toolchaing (if possible), or trying AutoConfig mode (see the docs here).

Best regards,
Michael