Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#3,938 20 bình luận 0 reaction 1 người được giao Xem trên GitHub

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ả

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

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của jamulussoftware/jamulus

Tất cả issue của jamulussoftware/jamulus

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.