Adopt C++17 as the global Jamulus language-standard baseline
Maintainer thường phản hồi trong vòng 5 ngày
@ann0see đang làm issue này rồi.
Từ ngày 6/9/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 1.1k
- Fork
- 248
- Merge trung bình
- 9 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của jamulussoftware/jamulus
-
Move translation checker (and potentially other runners) to ARM runnerCó thể đã có người làm @ann0see đã nhận 26 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
jamulussoftware/jamulus#3953 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 5 ngày
-
AI
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
jamulussoftware/jamulus#3846 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
Qt6 moving towards cmakeĐang mởfeature request
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
jamulussoftware/jamulus#3964 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 5 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
jamulussoftware/jamulus#3961 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 76/100
jamulussoftware/jamulus#3958 ·
Maintainer thường phản hồi trong vòng 5 ngày
Tất cả issue của jamulussoftware/jamulus
Issue tương tự
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 76/100
SteamGridDB/SGDBoop#147 ·
-
Doc: insert executor and incremental consolidation leave sorted runs, not globally sorted headsĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
semantic-reasoning/wirelog#2133 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backlog
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
EchoTools/nevr-runtime#454 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
initramfs: -type f (#18686) skips the libcurl.so.4 symlink, libcurl no longer copied into initramfsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày