Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Adopt C++17 as the global Jamulus language-standard baseline

Aperta
#3,938 20 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 3 giorni

@ann0see ci sta già lavorando.

Dal 6/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

AI refactoring

Summary

Move Jamulus to a C++17 language-standard baseline on every supported platform.

The current configuration is inconsistent. Jamulus.pro enables C++17 for Windows and Android, but its Unix branch still enables C++11. The project documentation still requires C++11 compatibility.

This migration must be completed in a separate change from PR #3787.

Required changes

  1. Update Jamulus.pro.

    • Replace the Unix CONFIG += c++11 setting at Lines 311-313 with C++17.
    • Remove the platform-specific C++17 selection at Lines 106-108 and Lines 271-274 if the global C++17 setting makes those branches redundant.
    • Keep all existing non-language-standard platform configuration unchanged.
    • Confirm that qmake passes the C++17 language-standard option for Windows, Linux, macOS, iOS, and Android.
  2. Update the contributor policy.

    • Replace Maintain C++11 compatibility throughout the code. in CONTRIBUTING.md with the C++17 baseline requirement.
    • Replace the C++11/Android exception in AGENTS.md with the C++17 baseline requirement.
  3. Review project-owned build instructions and automation.

    • Review COMPILING.md, platform deployment scripts, and GitHub Actions workflows.
    • Document any minimum compiler, Xcode, MSVC, Android NDK, or Qt toolchain version that is necessary for C++17.
    • Update the affected instructions and CI setup when an existing supported toolchain cannot compile C++17.
    • Do not modify language-standard settings inside vendored dependencies under libs/ unless a dependency build is directly invoked by Jamulus and requires an explicit compatible setting.
  4. Validate the supported build matrix.

    • Run or confirm CI builds for Linux, Windows, macOS, iOS, and Android with the global C++17 setting.
    • Confirm both reverb-enabled and CONFIG+=noreverb configurations compile where applicable.
    • Record any platform that needs a separate compatibility decision.

Rationale

src/plugins/audioreverb.h in PR #3787 uses a C++17 inline variable. A global C++17 baseline removes the Unix language-standard mismatch and allows the project to use one documented standard.

Acceptance criteria

  • Jamulus.pro selects C++17 for all Jamulus targets.
  • No project-owned document states that C++11 compatibility is required.
  • The supported-platform build documentation states the required C++17-capable toolchains.
  • The CI matrix completes successfully on all supported platforms.
  • Vendored dependency configuration remains unchanged unless it is necessary for a Jamulus build.

References

Lingua principale
C
Stelle
1.1k
Fork
248
Merge medio
2g 22h
PR unite (30g)
6

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jamulussoftware/jamulus

Tutte le issue di jamulussoftware/jamulus

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.