[Bug] Windows build fails with Clang/MSVC due to missing #include <chrono>
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
- Bereich
- build-system, compilers
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
- Clone the repository on Windows 11
- Install Clang 19 via Visual Studio 2022 Build Tools + clang-cl
- Run CMake configuration and build
- 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:
- Header Issue: GCC on Linux transitively includes through other headers, but Clang/MSVC on Windows does not
- Type Issue: The code at line 811 declares
int8_t *but receives aconst int8_t *, which should beconst int8_t *
Proposed Solution
- Add
#include <chrono>to the four affected files - Change line 811 from
int8_t *toconst 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
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/BitNet
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
i2_s SIGSEGVs at n_ubatch >= 32: BLAS backend dequantises by a row stride 4x the real packed rowOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Alle Issues in microsoft/BitNet
Ähnliche Issues
-
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 84/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
ROCm/rocm-libraries#12703 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
isl-org/Open3D#7585 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Feature request
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
qbittorrent/qBittorrent#24975 ·
Maintainer antworten meist innerhalb von 3 Tagen