Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Bug] Windows build fails with Clang/MSVC due to missing #include <chrono>

Offen
#492 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
58/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
cmake, cpp

Rechercherichtung

Beginne mit den vier aufgeführten Dateien unter 3rdparty/llama.cpp/common und examples und untersuche anschließend src/ggml-bitnet-mad.cpp etwa bei Zeile 811. Reproduziere den CMake-Build mit clang-cl unter Windows und verifiziere, dass die fehlenden chrono-Header und der const pointer-Fehler behoben sind, ohne andere Compilerfehler einzuführen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Summary

Building on Windows with ClangCL fails due to missing #include header and const pointer type mismatch in bitnet-mad.cpp.

Steps to Reproduce

  1. Clone the repository on Windows 11
  2. Install Clang 19 via Visual Studio 2022 Build Tools + clang-cl
  3. Run CMake configuration and build
  4. Observe compilation errors

Expected Behavior

Code should compile on Windows with ClangCL without errors

Actual Behavior

Two compilation errors occur:

Error 1: Missing #include

The following files use std::chrono without explicitly including :

  • 3rdparty/llama.cpp/common/common.cpp
  • 3rdparty/llama.cpp/common/log.cpp
  • 3rdparty/llama.cpp/examples/imatrix/imatrix.cpp
  • 3rdparty/llama.cpp/examples/perplexity/perplexity.cpp

On Linux/GCC, is pulled in implicitly, but Clang on Windows is stricter.

Error 2: Const pointer mismatch (src/ggml-bitnet-mad.cpp line 811)

error: cannot initialize a variable of type 'int8_t *' with an rvalue of type 'const int8_t *'

Root Cause Analysis

The root cause is platform-specific header dependency and type constness:

  1. Header Issue: GCC on Linux transitively includes through other headers, but Clang/MSVC on Windows does not
  2. Type Issue: The code at line 811 declares int8_t * but receives a const int8_t *, which should be const int8_t *

Proposed Solution

  1. Add #include <chrono> to the four affected files
  2. Change line 811 from int8_t * to const int8_t *

Environment

  • OS: Windows 11
  • Compiler: Clang 19 (via Visual Studio 2022 Build Tools + clang-cl)
  • CMake: 3.x
Vorherrschende Sprache
C++
Sterne
40.3k
Forks
3.7k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/BitNet

Alle Issues in microsoft/BitNet

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.