Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Bug]: juce_gui_extra.cpp defaults to including web browser ignoring CMake option

Aberta
#1,663 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
55/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Pouca atividade
Stack de tecnologia
cpp
Domínio
build-system

Direção de pesquisa

Comece em modules/juce_gui_extra/juce_gui_extra.h, linhas 75-77, onde JUCE_WEB_BROWSER é definido independentemente da opção NEEDS_WEB_BROWSER do CMake, e então verifique como juce_add_gui_app propaga NEEDS_WEB_BROWSER em cmake/JUCEUtils.cmake e o que modules/juce_gui_extra/juce_gui_extra.cpp inclui em seguida. Decida se o header deveria definir JUCE_WEB_BROWSER apenas quando explicitamente habilitado, ou se o CMake deveria forçá-lo para 0. Considera-se concluído quando um alvo juce_add_gui_app com NEEDS_WEB_BROWSER desativado compila sem a definição de compilação manual JUCE_WEB_BROWSER=0.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Detailed steps on how to reproduce the bug

When using, for example, juce_add_gui_app() and with the default option of NEEDS_WEB_BROWSER set to false, the following in juce_gui_extra.h causes attempts to import headers in juce_gui_extra.cpp that are then correctly not linked by cmake, causing a build error:
https://github.com/juce-framework/JUCE/blob/3ba67d4585e9d1fbcdb26a877c7978608b1f802e/modules/juce_gui_extra/juce_gui_extra.h#L75-L77

Workaround is to set the compile definition JUCE_WEB_BROWSER=0 but given the default is this already when adding the target, this definition should be set to 0 by default, or the setting of it in that file should be removed so it's only ever explicitly defined when enabled.

What is the expected behaviour?

Builds successfully.

Operating systems

Linux

What versions of the operating systems?

Fedora 44.

Architectures

x86_64

Stacktrace

Plug-in formats (if applicable)

No response

Plug-in host applications (DAWs) (if applicable)

No response

Testing on the develop branch

I have not tested against the develop branch

Code of Conduct
  • I agree to follow the Code of Conduct
Linguagem predominante
C++
Estrelas
8.9k
Forks
2.2k
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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de juce-framework/JUCE

Todas as issues de juce-framework/JUCE

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.