Skip to content

Update MSVC compiler options for version 1.5.1 release#458

Closed
j2doll wants to merge 8 commits into
QtExcel:masterfrom
j2doll:master
Closed

Update MSVC compiler options for version 1.5.1 release#458
j2doll wants to merge 8 commits into
QtExcel:masterfrom
j2doll:master

Conversation

@j2doll

@j2doll j2doll commented Jun 16, 2026

Copy link
Copy Markdown
Member

This pull request updates the QXlsx library to improve compatibility, especially with MSVC and different Qt versions, and bumps the library version. The main changes involve build system enhancements for compiler and Qt version handling, as well as a workaround for MSVC-specific iterator issues.

Build system and compatibility improvements:

  • Updated the QXlsx library version from 1.5.0 to 1.5.1 in CMakeLists.txt to reflect the new release.
  • Added logic in QXlsx.pri to set the C++ standard based on the Qt version: C++11 for Qt 5, C++17 for Qt 6, with informative messages during configuration.
  • Added a workaround in QXlsx/header/xlsxglobal.h for MSVC by providing a custom make_checked_array_iterator to address compatibility issues.
  • Modified CMakeLists.txt to enforce the /permissive flag for MSVC builds, ensuring standards compliance and preventing conflicts with /permissive-.

Code cleanup:

  • Removed commented-out hard-coded QXlsx version string from mainwindow.cpp and unnecessary source/header entries from QXlsx.pro. [1] [2]

j2doll and others added 8 commits June 17, 2026 02:54
- Disable strict MSVC compliance mode to prevent build errors  caused by standard library ('stdext') changes in newer MSVC compilers with older Qt headers.
Replace MSVC compliance mode disabling with a definition to allow compiler and STL version mismatch.
Updated CMakeLists.txt to modify compiler options for MSVC.
Removed MSVC specific flags for permissive mode.
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@j2doll j2doll closed this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant