Problems building on OS X
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- cmake, cpp, macos
- Domínio
- build-system, desktop
Direção de pesquisa
Comece com Alarmcontroller.cpp e a alteração na descoberta do SDL descrita na issue e, em seguida, reproduza o build sem modificações e a exceção no Main Thread no OS X. Rastreie o loop de eventos do SDL, tick_thread e as chamadas para lv_tick_inc para determinar por que os eventos falham. O trabalho estará concluído quando o simulador compilar e executar no OS X com os eventos funcionando, sem o crash relatado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Have anyone managed to get InfiniSim running on OS X? I've made a small attempt, but haven't had much success. I did get it to show the start screen, but no events are working (maybe due to that I had to rewrite some code).
Summary of making it compile:
Change to using https://github.com/trenki2/SDL2Test/blob/master/cmake/FindSDL2.cmake to find SDL. (Installed with the downloadable dmg-file with development libraries from SDL homepage https://www.libsdl.org/download-2.0.php)
Then I had to change some code in the Alarmcontroller.cpp:
auto now = std::chrono::system_clock::now();
alarmTime = now;
time_t ttAlarmTime = std::chrono::system_clock::to_time_t(now);
Then I had to remove the call:
// SDL_CreateThread(tick_thread, "tick", NULL);
And modify the while loop to force the UI to be visible:
SDL_Event e;
bool quit = false;
while(!quit) {
SDL_PollEvent(&e);
if (e.type == SDL_QUIT){
quit = true;
}
// SDL_Delay(LV_DISP_DEF_REFR_PERIOD);
// lv_tick_inc(LV_DISP_DEF_REFR_PERIOD); // Crashed when called here or in tick_thread.
fw.handle_keys(); // key event polling
fw.handle_touch_and_button();
fw.refresh();
usleep(LV_DISP_DEF_REFR_PERIOD * 1000);
}
If I run it with unmodified code it crashes with: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'nextEventMatchingMask should only be called from the Main Thread!'
Maybe this can be of help if someone else tries to make it work on a Mac?
- Linguagem predominante
- C++
- Estrelas
- 203
- Forks
- 99
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
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 InfiniTimeOrg/InfiniSim
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
InfiniTimeOrg/InfiniSim#202 · 1 comentário ·
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
InfiniTimeOrg/InfiniSim#189 · 3 comentários ·
-
Slowdown with excess drawsAbertaenhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
InfiniTimeOrg/InfiniSim#162 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
InfiniTimeOrg/InfiniSim#160 · 3 comentários · 1 reação ·
-
Free memory budget is wrongAbertabug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
InfiniTimeOrg/InfiniSim#128 · 1 comentário ·
Todas as issues de InfiniTimeOrg/InfiniSim
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
eclipse-score/inc_someip_gateway#356 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
HarperFast/rocksdb-js#945 ·
Mantenedores costumam responder em até 1 dia
-
A failed COMMIT leaves the DuckLake transaction registered, leaking the whole DuckDB instanceAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia