[Bug] Windows build fails with Clang/MSVC due to missing #include <chrono>
Ninguém assumiu esta issue ainda.
- #494 de @Jah-yee — fechado sem integrar
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 58/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- cmake, cpp
- Domínio
- build-system, compilers
Direção de pesquisa
Comece pelos quatro arquivos listados em 3rdparty/llama.cpp/common e examples e, em seguida, inspecione src/ggml-bitnet-mad.cpp por volta da linha 811. Reproduza o build do CMake com clang-cl no Windows e verifique se os headers chrono ausentes e o erro de const pointer foram resolvidos sem introduzir outros erros do compilador.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- C++
- Estrelas
- 40.6k
- Forks
- 3.8k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/BitNet
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
-
i2_s SIGSEGVs at n_ubatch >= 32: BLAS backend dequantises by a row stride 4x the real packed rowAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
-
Warning: `huggingface-cli` is deprecated and no longer works. Use `hf` instead.Talvez já em andamento @ousamabenyounes assumiu há 64 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Todas as issues de microsoft/BitNet
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 4 dias
-
nth_root does not restore the rounding mode and can return an upper bound below the true rootAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
scanaislop/aislop#482 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
EchoTools/nevr-runtime#547 ·
Mantenedores costumam responder em até 1 dia
-
1 type: problem 2 scope: firmware 3 good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
SpaceTeam/STS1_COBC_SW#511 ·