olav
August 22, 2018, 5:37am
1
Hi,
I try to create a Makefile for the Pokitto Simulator on MacOS. Ultimately I do this to be able to compile http://microblocks.fun/
Now I am stuck: I am missing a definition of function lcdRectangle()
it is declared in POKITTO_SIM/SimLCD.h and invoked in POKITTO_CORE/PokittoDisplay.cpp:
…/POKITTO_CORE/PokittoDisplay.cpp:205: lcdRectangle(x,y,x2,y2,color);
…/POKITTO_SIM/SimLCD.h:61:extern void lcdRectangle(int16_t,int16_t,int16_t,int16_t,uint16_t);
Am I missing something?
– Olav
jonne
August 22, 2018, 5:48am
2
Hi Olav
I think this is a helper function added by one of our collaborators, that may not have been added for the simulator.
I will check.
EDIT: I’m off until the afternoon so it will be in the evening, sorry.
jonne
August 22, 2018, 5:53am
3
Hi
I had a look. Make sure SimLCD.cpp is included in your project.
It’s there, on line 103
void Pokitto::lcdRectangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t c) {
simulator.directSDLRectangle(x0,y0,x1,y1,c);
}
jonne
August 22, 2018, 5:55am
4
Also Olav,
make sure you have POK_SIM defined when you target the simulator
olav
August 22, 2018, 6:58am
5
Jonne, thank you so much for your help.
The problem seems to be that I started from repo https://github.com/pokitto/PokittoSim which does not have the file SimLCD.cpp .
Maybe it would be a good idea to mark the PokittoSim repo as deprecated and point people to the newer PokittoLib ?
I will switch to https://github.com/pokitto/PokittoLib and see how it goes from there.
– Olav
1 Like
olav
August 22, 2018, 9:32am
6
A quick update:
I managed to compile the example HelloWorld into an executable. Sadly, this crashes immediately:
~/w/P/E/HelloWorld> ./HelloWorld
2018-08-22 11:16:16.681 HelloWorld[78380:13928132] *** Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘nextEventMatchingMask should only be called from the Main Thread!’
*** First throw call stack:
(
0 CoreFoundation 0x00007fff55d3e2db __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fff7cedfc76 objc_exception_throw + 48
2 AppKit 0x00007fff539ea297 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 4167
3 libSDL2-2.0.0.dylib 0x00000001018f640c Cocoa_PumpEvents + 211
4 libSDL2-2.0.0.dylib 0x0000000101893ca5 SDL_PumpEvents_REAL + 23
5 libSDL2-2.0.0.dylib 0x0000000101893d20 SDL_WaitEventTimeout_REAL + 76
6 HelloWorld 0x0000000101812bfd _ZN7Pokitto9Simulator11pollButtonsEv + 29
7 HelloWorld 0x0000000101813e06 _ZN7Pokitto9Simulator14refreshDisplayEv + 38
8 HelloWorld 0x0000000101813dc2 _Z14rfrsh_callbackjPv + 34
9 libSDL2-2.0.0.dylib 0x00000001018bfba1 SDL_TimerThread + 160
10 libSDL2-2.0.0.dylib 0x00000001018bf6f0 SDL_RunThread + 60
11 libSDL2-2.0.0.dylib 0x00000001018feb9b RunThread + 9
12 libsystem_pthread.dylib 0x00007fff7de11661 _pthread_body + 340
13 libsystem_pthread.dylib 0x00007fff7de1150d _pthread_body + 0
14 libsystem_pthread.dylib 0x00007fff7de10bf9 thread_start + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException
fish: ‘./HelloWorld’ terminated by signal SIGABRT (Abort)
Maybe my libSDL2 has problems. I will investigate later.
– Olav
Pharap
August 22, 2018, 9:50am
7
Found several issues on different GitHub projects with the same issue.
Almost certainly SDL2 at fault.
Which version of SDL2 are you using?