Adopt C++17 as the global Jamulus language-standard baseline
维护者通常 3 天内回复
@ann0see 已经在做这个了。
开始于 2026年9月6日。
评估
这个 Issue 还没有评估数据。
描述
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
-
Update
Jamulus.pro.- Replace the Unix
CONFIG += c++11setting 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.
- Replace the Unix
-
Update the contributor policy.
- Replace
Maintain C++11 compatibility throughout the code.inCONTRIBUTING.mdwith the C++17 baseline requirement. - Replace the C++11/Android exception in
AGENTS.mdwith the C++17 baseline requirement.
- Replace
-
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.
- Review
-
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+=noreverbconfigurations 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.proselects 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
- PR #3787: https://github.com/jamulussoftware/jamulus/pull/3787
- Review comment: https://github.com/jamulussoftware/jamulus/pull/3787#discussion_r3943320819
- Requested by @ann0see.
- 主要语言
- C
- 星标
- 1.1k
- 派生
- 248
- 平均合并
- 2 天 22 小时
- 30 天内合并 PR
- 6
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
jamulussoftware/jamulus 的其他 Issue
-
Move translation checker (and potentially other runners) to ARM runner可能已有人在做 @ann0see 于 21 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
jamulussoftware/jamulus#3953 · 2 条评论 ·
维护者通常 3 天内回复
-
Reused channel slot records the previous occupant's audio可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭AI bug
难度 2/5 1-3 小时 新手友好度 82/100
jamulussoftware/jamulus#3901 · 4 条评论 · 1 个 reaction ·
维护者通常 3 天内回复
-
AI
难度 2/5 1-3 小时 新手友好度 78/100
jamulussoftware/jamulus#3846 ·
维护者通常 3 天内回复
-
feature request
难度 5/5 一周以上 新手友好度 25/100
jamulussoftware/jamulus#3964 · 3 条评论 ·
维护者通常 3 天内回复
-
难度 3/5 1-2 天 新手友好度 65/100
jamulussoftware/jamulus#3961 ·
维护者通常 3 天内回复
查看 jamulussoftware/jamulus 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
EchoTools/nevr-runtime#117 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
DarkFlippers/qUnleashed#240 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 84/100
AFLplusplus/AFLplusplus#2899 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
HarbourMasters/Shipwright#7320 ·
维护者通常 1 天内回复